Sudoku Solver
给一个2d数组, 是一个数独, 求解决数独问题.
给一个2d数组, 是一个数独, 求解决数独问题.
给一个2d数组, 是数独的数组, 求是否是一个正确的数独.
给一个排序好的数组, 里面可能有重复的元素, 在里面找一个元素, 如果有重复的, 找到开始和结束的index. 就是基础的带重复的二叉搜索,
给一个排序后被partial翻转的数组, 找一个元素. 利用排序, 做二叉搜索. 主要是要分类讨论.
给一个字符串, 找到其中最长的括号. 因为要找括号, 所以要用stack存左括号的index, 然后用循环去尽量往右找右括号.
给一个数组, 求它的下一个组合顺序上的组合. 这个是个传统算法, 先从后往前找到一个递增的index. 如果没有, 证明已经是最后一个组合了, 直接反转全部数组即可. 如果有, 从前往后找到第一个比这个index上大的数, 然后swap这两个数, 并且把这个数index, 后边的剩下所有数都反转.
给一个数, 返回所有可能的BST. 找到所有的卡塔兰数组合.
给一个数字, 问能组成多少个唯一的BST. 卡特兰数
给一个数字, 问是不是回文数字. 写一个数字倒转的方法, 然后看一下即可.
给一个字符串, 返回其中最长的回文子字符串. 这个题非常经典, 做法是写一个辅助方法, 可以从字符串中某一个位置向外找到最长的回文 (利用回文的性质), 然而我们不知道回文是奇数位还是偶数位, 所以我们找的时候, 需要同时考虑.