随笔分类 -  LeetCode

1 2 3 4 5 ··· 7 下一页
摘要:题意: 给一个数组,其中有一个元素的出现次数已经超过数组的一半大小,请找出这个元素?思路: 可以扫一遍数组,将这个出现次数过多的元素抵消其他的元素,最后必定留下1个以上的元素,就是它自己了。python3扫一遍 1 class Solution(object): 2 def majori... 阅读全文
posted @ 2015-12-18 11:25 xcw0754 阅读(178) 评论(0) 推荐(0)
摘要:题意: 给一棵二叉树,每个叶子到根的路径之和为sum的,将所有可能的路径装进vector返回。思路: 节点的值可能为负的。这样子就必须到了叶节点才能判断,而不能中途进行剪枝。 1 /** 2 * Definition for a binary tree node. 3 * struct Tr... 阅读全文
posted @ 2015-11-18 23:37 xcw0754 阅读(153) 评论(0) 推荐(0)
摘要:题意: 求浮点型x的n次幂结果。思路: logN直接求,注意n可能为负数!!!当n=-2147483648的时候,千万别直接n=-n,这样的结果是多少?其他求法大同小异。 1 class Solution { 2 public: 3 double myPow(double x, int ... 阅读全文
posted @ 2015-11-18 23:18 xcw0754 阅读(165) 评论(0) 推荐(0)
摘要:题意: 给一个集合,有n个可能相同的元素,求出所有的子集(包括空集,但是不能重复)。思路: 看这个就差不多了。LEETCODE SUBSETS (DFS) 1 class Solution { 2 public: 3 vector> subsets(vector& nums) { 4 ... 阅读全文
posted @ 2015-11-18 22:56 xcw0754 阅读(124) 评论(0) 推荐(0)
摘要:题意: 给一个集合,有n个互不相同的元素,求出所有的子集(包括空集,但是不能重复)。思路: DFS方法:由于集合中的元素是不可能出现相同的,所以不用解决相同的元素而导致重复统计。 1 class Solution { 2 public: 3 vector> subsets(vector&... 阅读全文
posted @ 2015-11-18 21:42 xcw0754 阅读(337) 评论(0) 推荐(0)
摘要:题意: 在一个无序的数组中第k大的数是多少?思路: 按照快排的思路,如果每次分成两段后,设为L和R。如果R>=k ,则答案在右边集合,否则在左边集合。 这里用了3位取中法。注意快排别给写死循环了。 1 class Solution { 2 public: 3 int findKthLa... 阅读全文
posted @ 2015-11-17 22:26 xcw0754 阅读(433) 评论(0) 推荐(0)
摘要:题意: 给一棵二叉树,要求收集每层的最后一个节点的值。按从顶到底装进vector返回。思路: BFS比较简单,先遍历右孩子就行了。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int ... 阅读全文
posted @ 2015-11-17 20:43 xcw0754 阅读(260) 评论(0) 推荐(0)
摘要:题意: 将链表的后面k个剪出来,拼接到前面,比如 1->2->null 变成2->1->null。数字代表一段的意思。思路: k有3种可能,k>n,kn时,k%=n即可,而当k=n时,无需操作。链表可能为空! 1 /** 2 * Definition for singly-linked l... 阅读全文
posted @ 2015-11-16 23:53 xcw0754 阅读(163) 评论(0) 推荐(0)
摘要:题意: 在集合candidates中选出任意多个元素,使得他们的和为target,返回所有的组合,以升序排列。思路: 难点在于如何去重,比如集合{1,1,2},target=3,那么只有一个组合就是1+2=3,而不是两个。 DFS解决,每次考虑candidates[i]取还是不取,但是这样子还... 阅读全文
posted @ 2015-11-16 23:10 xcw0754 阅读(228) 评论(0) 推荐(0)
摘要:题意: 给一个数组,求严格递增的最长递增子序列的长度。思路: 开销是一个额外的O(n)的数组。lower_bound(begin,end,val)的功能是:返回第一个大于等于val的地址。 1 class Solution { 2 public: 3 int lengthOfLIS(ve... 阅读全文
posted @ 2015-11-16 22:02 xcw0754 阅读(231) 评论(0) 推荐(0)
摘要:题意: 给一棵二叉树,每个节点上有一个数字,范围是0~9,将从根到叶子的所有数字作为一个串,求所有串的和。思路: 普通常规的DFS。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int... 阅读全文
posted @ 2015-11-16 21:44 xcw0754 阅读(164) 评论(0) 推荐(0)
摘要:题意: 在1~9这9个数字中选择k个出来,若他们的和为n,则加入答案序列,注意升序。思路: 用DFS的方式,每次决定一个数字,共决策k次。假设上个决策是第i位为5,那么i+1位的范围就是6~9。 1 class Solution { 2 public: 3 vector> combina... 阅读全文
posted @ 2015-11-16 21:15 xcw0754 阅读(136) 评论(0) 推荐(0)
摘要:题意: 给两个有序(升or降)的数组,求两个数组合并之后的中位数。思路: 按照找第k大的思想,很巧妙。将问题的规模降低,对于每个子问题,k的规模至少减半。考虑其中一个子问题,在两个有序数组中找第k大,我们的目的只是将k的规模减半而已,所以可以对比nums1[k/2]和nums2[k/2]的大小,... 阅读全文
posted @ 2015-11-16 13:12 xcw0754 阅读(187) 评论(0) 推荐(0)
摘要:题意: 产生从1~n的k个数的所有组合,按升序排列并返回。思路: DFS一遍即可解决。注意升序。 1 class Solution { 2 public: 3 vector> ans; 4 int nn, kk; 5 void DFS(vector& seq,int n,... 阅读全文
posted @ 2015-11-05 22:04 xcw0754 阅读(240) 评论(0) 推荐(0)
摘要:题意: 给一个n*m的矩阵,如果某个格子中的数字为0,则将其所在行和列全部置为0。(注:新置的0不必操作)思路: 主要的问题是怎样区分哪些是新来的0? 方法(1):将矩阵复制多一个,根据副本来操作原矩阵。 方法(2):发现空间还可以用O(n)来解决。 方法(3):若m[i][j]=0,则将... 阅读全文
posted @ 2015-11-05 21:18 xcw0754 阅读(149) 评论(0) 推荐(0)
摘要:题意: 有一个矩阵,每行有序,每列也有序。判断一个数target是否存在于此矩阵中。思路: 从右上角开始,如果当前数字target,该列作废。这样下去要么找到,要么到达边界退出。 1 class Solution { 2 public: 3 bool searchMatrix(vecto... 阅读全文
posted @ 2015-11-04 21:21 xcw0754 阅读(161) 评论(0) 推荐(0)
摘要:题意: 有一个矩阵,每行都有序,每行接在上一行尾后仍然有序。在此矩阵中查找是否存在某个数target。思路: 这相当于用一个指针连续扫二维数组一样,一直p++就能到最后一个元素了。由于用vector装的,但是也是满足线性的。 二分:O(log n*m) 1 class Solution { 2... 阅读全文
posted @ 2015-11-04 21:17 xcw0754 阅读(171) 评论(0) 推荐(0)
摘要:题意: 将一个n*n的矩阵顺时针旋转90度。思路: 都是差不多的思路,交换3次也行,反转再交换也是行的。 1 class Solution { 2 public: 3 void rotate(vector>& matrix) { 4 int i=0, n=matrix.s... 阅读全文
posted @ 2015-11-04 20:28 xcw0754 阅读(161) 评论(0) 推荐(0)
摘要:题意: 寻找一棵BST中的第k小的数。思路: 递归比较方便。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * ... 阅读全文
posted @ 2015-11-04 20:06 xcw0754 阅读(177) 评论(0) 推荐(0)
摘要:题意: 从1开始产生连续的n2个数字,以螺旋的方式填满一个n*n的数组。思路: 由于是填满一个矩阵,那么只需要每次都填一圈即可。应该注意特殊情况。 迭代: 1 class Solution { 2 public: 3 vector > generateMatrix(int n) 4... 阅读全文
posted @ 2015-11-04 19:40 xcw0754 阅读(139) 评论(0) 推荐(0)

1 2 3 4 5 ··· 7 下一页