共15页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页 
摘要: "90. 子集 II" "78. 子集" 题的扩展,其中的元素可能会出现重复了 我们仍沿用78题的代码,稍作改动即可: 1. 此时需要对nums先排个序,方便我们后面跳过选取相同的子集。 2. 跳过选取相同的子集。当选取完第i个数时,如果后面的数,和当前数相同,就跳过,不必对其进行递归了。 clas阅读全文
posted @ 2018-08-05 23:12 ACBingo 阅读(6) 评论(0) 编辑
摘要: "89. 格雷编码" 这个题挺有意思,意思就是让你生成2^n个数,但是相邻的两数之间的二进制编码只能有一处不同,比如100 与 101,但是100,110就不行 多写几个数就找到规律了,比如当n=3时: 0 1 11 10 110 111 101 100 观察发现,第5个数其实就是第4个数在前面加了阅读全文
posted @ 2018-08-05 22:35 ACBingo 阅读(56) 评论(0) 编辑
摘要: "88. 合并两个有序数组" 水题,没有在原数组上做,偷了个懒 class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int[] ans = new int[m + n]; int i = 0, j 阅读全文
posted @ 2018-08-02 22:54 ACBingo 阅读(5) 评论(0) 编辑
摘要: "87. 扰乱字符串" 没有任何思路 直接google别人的题解,大致看懂了吧 简单的说,就是s1和s2是scramble的话,那么必然存在一个在s1上的长度l1,将s1分成s11和s12两段,同样有s21和s22.那么要么s11和s21是scramble的并且s12和s22是scramble的;要阅读全文
posted @ 2018-08-02 22:38 ACBingo 阅读(54) 评论(0) 编辑
摘要: "86. 分隔链表" 这个题是让你把比x小的节点都挪到大于等于x节点前面去,注意还要保证每个节点的初始位置。 那么我们可以先找到第一个 =x的节点p,然后p后面的所有节点,都插入到p之前即可 我的代码写复杂了= =阅读全文
posted @ 2018-08-01 23:18 ACBingo 阅读(27) 评论(0) 编辑
摘要: "221. 最大正方形" 其实这题是 "85. 最大矩形" 的特殊情况,我们将85题代码稍微改一下,然后直接套用即可。 此题要求是正方形,那么我们在计算长与宽时,取短的那条然后平方即可。 另外,这个题可以用dp来做。思路还是很巧妙的。 dp[i,j]表示以(i,j)为右下角的矩阵的面积,那么状态转移阅读全文
posted @ 2018-08-01 21:54 ACBingo 阅读(10) 评论(0) 编辑
摘要: "85. 最大矩形" 解法1: 一个思路就是这个可以看作 "84. 柱状图中最大的矩形" 的扩展,这道题的二维矩阵每一层向上都可以看做一个直方图,输入矩阵有多少行,就可以形成多少个直方图,对每个直方图都调用 "84. 柱状图中最大的矩形" 中的方法,就可以得到最大的矩形面积。 解法2: 另外一个思路阅读全文
posted @ 2018-07-31 23:52 ACBingo 阅读(40) 评论(0) 编辑
摘要: "84. 柱状图中最大的矩形" 用到了单调栈的知识,还是第一次碰到。学习了好久 看这两篇文章吧: "直方图中最大的矩形" "单调栈小结" 简单来说,维护一个单调栈,如果当前元素大于栈顶元素,则把当前元素的坐标入栈,否则,弹出栈顶元素直到当前元素可入栈。 在栈顶元素弹出时,把弹出的元素当成最短木板,计阅读全文
posted @ 2018-07-30 22:21 ACBingo 阅读(109) 评论(0) 编辑
摘要: "82. 删除排序链表中的重复元素 II" 83题的扩展,相比于83题。我们增加一个last_last来记录重复元素前面的节点即可阅读全文
posted @ 2018-07-30 17:06 ACBingo 阅读(48) 评论(0) 编辑
摘要: "83. 删除排序链表中的重复元素" 链表操作阅读全文
posted @ 2018-07-30 16:58 ACBingo 阅读(14) 评论(0) 编辑
摘要: "81. 搜索旋转排序数组 II" public class Solution { // 这个问题在面试中不会让实现完整程序 // 只需要举出能够最坏情况的数据是 [1,1,1,1... 1] 里有一个0即可。 // 在这种情况下是无法使用二分法的,复杂度是O(n) // 因此写个for循环最坏也是阅读全文
posted @ 2018-07-30 16:45 ACBingo 阅读(43) 评论(0) 编辑
摘要: "80. 删除排序数组中的重复项 II" 模拟,没啥意思。。就是挪数而已 class Solution { public int removeDuplicates(int[] nums) { int cnt = 0; int len = nums.length; int top = 0; int l阅读全文
posted @ 2018-07-30 16:38 ACBingo 阅读(111) 评论(0) 编辑
摘要: "208. 实现 Trie (前缀树)" 实现Trie树,网上教程一大堆,没啥可说的 public class Trie { private class Node { private int dumpli_num;////该字串的重复数目, 该属性统计重复次数的时候有用,取值为0、1、2、3、4、5阅读全文
posted @ 2018-07-30 16:13 ACBingo 阅读(82) 评论(0) 编辑
摘要: "212. 单词搜索 II" 这leetcode的评判机绝对有问题!!同样的代码提交,有时却超时!害得我至少浪费两个小时来寻找更优的答案= =,其实第一次写完的代码就可以过了,靠!!!第207位做出来的 趁热,我把 "79. 单词搜索" 也做了一下 与79题完全,无非是从一个word变成了多个wor阅读全文
posted @ 2018-07-30 16:11 ACBingo 阅读(30) 评论(0) 编辑
摘要: "79. 单词搜索" 这个题跟前两个题思路类似,递归搜即可 先找到首节点,然后4个方向去搜。 状态函数:dfs(int i, int j, int k, char[][] board, String word, int m, int n, boolean[][] f) i,j表示当然已经搜到了节点(阅读全文
posted @ 2018-07-30 16:00 ACBingo 阅读(16) 评论(0) 编辑
共15页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页