摘要:
还是用回溯法,定义一个二维数组存储访问标记,在对任意位置进行深度优先搜索时,先将当前位置为已访问,以避免重复遍历,在所有的可能都搜索完成后,再改回当前位置为未访问,防止干扰其它位置搜索当前位置。 阅读全文
摘要:
用回溯方法解决组合问题,类似排列,排列回溯的是交换的位置,而组合回溯的是否把当前的数字加入结果中。 阅读全文
摘要:
使用回溯法解决此问题,对于每一个当前位置i,我们可以将其与之后的任意位置交换,然后继续处理位置i+1,直到处理到最后一位。为了防止我们每次遍历时都要新建一个子数组储存位置i之前已经交换好的数字,我们就利用回溯法,只对原数组进行修改,在递归完成后再修改回来。 阅读全文
摘要:
逆向思维,假设海水涨潮的时候,太平洋和大西洋的水能漫到陆地的最高点是多少,分别记录下来。假设水在到达最高点后不在继续漫了。这时分别记录下太平洋和大西洋的水能到达的位置。再取他们公共的部分就是答案了。 阅读全文
摘要:
每个人看作是一个点,每个人与他人的联系看作是一条线,即n条线,包括自己与自己的关系。这样每个节点最多n条边最少1条边。 阅读全文
摘要:
搜索类的题,这题可以用深度优先搜索,定义一个主函数和一个辅函数,主函数用于遍历所有的搜索位置,判断是否可以开始搜索,辅函数则负责深度优先搜索的递归调用。 阅读全文
摘要:
号称leetcode守门员的题。中位数可以来自于同一个数组,也可以来自于两个数组,可以是一个数,也可以是两个数。 阅读全文
摘要:
题目中是有序数组,每个元素出现2次,假设数组索引i是偶数,如果nums[i] == nums[i+1],说明那个单独出现的元素在i的右边;反之在i的左边 阅读全文
摘要:
二分查找,循环结束条件和内部比较时到底加不加等号老是分不清,每次都得通过调试 阅读全文
摘要:
即使数组被旋转过,仍可以使用数组的递增性,使用二分查找来解决此问题。leetcode 81. Search in Rotated Sorted Array II 搜索旋转排序数组 II(中等) 阅读全文