摘要:
DFS。这种思路清晰的题目,大问题一般出在小地方。1.当DFS找到时,要返回true。这样一路true上去,否则最后格子又会被设为'.';2.计算格子所在九宫格时,要用int a = x/3*3+i; 忘记乘3了,一直错;public class Solution { public void solveSudoku(char[][] board) { // Start typing your Java solution below // DO NOT write main() function int m = board.length; ... 阅读全文
摘要:
此题思路不易想到。 首先思路参照网上,因为是O(n),很自然想到用hash或bitmap,但不能用更多的存储,就用该数组本身吧。用正负来表示是否存在,所以第一遍的时候把负数变成不可能的正数,此处设为Integer.MAX_VALUE。 编写中错误几次,1.是length为0;2.同一个数出现两遍,那 阅读全文
摘要:
有是一道组合排列题目。继续用DFS。不过这次在LeetCode网页里直接写,更接近面试的纸写。public class Solution { public ArrayList> permute(int[] num) { // Start typing your Java solution below // DO NOT write main() function ArrayList> ans = new ArrayList>(); int len = num.length; if (len == 0) ... 阅读全文
摘要:
借鉴了之前加法的超时经验,就开始采用倍增法。但还是吃了负数和整数边界值的亏。最后干脆使用long得了。参考答案的递归果然更简洁易懂,而且不用考虑整数边界值的情况,精彩。public class Solution { public double pow(double x, int n) { ... 阅读全文