C++
咕咕咕咕哦
你若安好,就是失眠
展开
-
[Leetcode]27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.The orde原创 2016-08-27 21:57:56 · 271 阅读 · 0 评论 -
[leetcode]48. Rotate Image
//首先按对角线置换,然后按照竖中分线置换,这样就达到了90度旋转的要求class Solution {public: void rotate(vector>& matrix) { int n=matrix.size(); for(int i=0;i<n;i++) { for(int j=0;j<=i;j+原创 2016-09-03 21:39:07 · 197 阅读 · 0 评论 -
[leetcode]268. Missing Number
解法一:置换class Solution {public: int missingNumber(vector& nums) { //每次交换,位置 i 和 位置nums[i]的值,直到i的值是nums[i],这样时间可能不是线性了,主要是存在>=len; int len=nums.size(); int i=0;原创 2016-09-03 23:06:38 · 138 阅读 · 0 评论 -
[leetcode]35. Search Insert Position
class Solution {public: int searchInsert(vector& nums, int target) { int len=nums.size(); int i=0; while(i<len) { if(nums[i]==target)原创 2016-09-03 23:23:14 · 181 阅读 · 0 评论 -
[leetcode]34. Search for a Range
class Solution {public: vector searchRange(vector& nums, int target) { int l=0; int h=nums.size()-1; vector ret; if( targetnums[h] ) {原创 2016-09-03 23:58:41 · 161 阅读 · 0 评论 -
[leetcode]289. Game of Life
//因为要in-place 置换,而每一个cell 的改变会引起其他改变,所以我们用中间态来表示原态//中间态不仅要能转化为原态还能转化为变化后的态//有四种状态//live-live(==2/==3)//die-live(==3)//live-die(<2)//live-die(>3)// 因为0,1加上10,再mod 10 不变,而除以10则有区别,比如由die->live原创 2016-09-04 01:41:44 · 505 阅读 · 0 评论 -
[leetcode]31. Next Permutation -Find next greater number with same set of digits
Find next greater number with same set of digitsGiven a number n, find the smallest number that has same set of digits as n and is greater than n. If x is the greatest possible number with its s转载 2016-09-04 21:10:31 · 478 阅读 · 0 评论 -
[leetcode]18. 4Sum
//用夹逼定理class Solution {public: vector> fourSum(vector& nums, int target) { vector> ret; sort(nums.begin(),nums.end());//最重要 for(int i=0;i<nums.size原创 2016-09-04 22:44:56 · 155 阅读 · 0 评论 -
[leetcode]15. 3Sum
和4sum 一样,继续使用夹逼定理,不过需要排除重复例如【4,-2,-2,2,2】target=0;只有【4,-2,2】,所以需要把重复的去掉这不等同于【4,-2,-2,6,7】因为这时候只有【4,-2,-2】的-2 和-2 分别对应j,k class Solution {public: vector> threeSum(vector& nums) {原创 2016-09-04 23:06:15 · 179 阅读 · 0 评论 -
[leetcode]16. 3Sum Closest
class Solution {public: int threeSumClosest(vector& nums, int target) { int sum; int ret; int close=65535; sort(nums.begin(),nums.end());原创 2016-09-04 23:32:41 · 249 阅读 · 0 评论 -
[算法】各种排序算法比较
NameTimeBest/WorstTime(AVG)Space稳定性插入O(n)O(n2)O(n2)O(1)稳定选择O(n2)O(n2)O(n2)O(1)稳定冒泡原创 2016-09-05 15:23:24 · 259 阅读 · 0 评论 -
[学习资源]
SQL 多表连接查询http://blog.csdn.net/yangquanhui1991/article/details/51536174SQL 子查询http://blog.csdn.net/yangquanhui1991/article/details/51536392阿里数据分析师面试分享http://bbs.yingjiesheng.com/thread原创 2016-09-06 10:19:52 · 282 阅读 · 0 评论 -
[leetcode] Maximum Subarray
//统计nums[i]之前的sum值,如果这个值大于0,则拼接之前的序列,否则新的序列从i开始//保留一个全局最大值,每次得到的candidate都和它比较class Solution {public: int maxSubArray(vector& nums) { int len=nums.size(); if(len<1)原创 2016-09-03 20:42:51 · 140 阅读 · 0 评论 -
[leetcode]54. Spiral Matrix
class Solution {public: vector spiralOrder(vector>& matrix) { vector ret; int m=matrix.size(); if(m==0) return ret; int n=matrix[0].s原创 2016-09-03 19:50:41 · 201 阅读 · 0 评论 -
[leetcode]55. Jump Game 贪心
解法一,递归,超时class Solution {public: bool canJump(vector& nums) { if(nums.size()>1&&nums[0]==0)return false; return jump(nums,0); } bool jump(vector& nums,int pos)原创 2016-09-03 18:07:16 · 282 阅读 · 0 评论 -
[leetcode]189. Rotate Array
Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].Note:Try to come up as many solutions as yo原创 2016-08-27 22:17:12 · 350 阅读 · 0 评论 -
[leetcode]229. Majority Element II
//我们把原始数组看成一个多重集,每次从数组中删除k个不同的元素,直到不能再删了为止。那么最后数组中剩余的元素就是候选元素。然后统计候选元素的个数,因为其中大于n/k的就返回.//前提:elements that appear more than ⌊ n/3 ⌋ times 这样的元素个数最多两个,若有三个则会超过原数组大小。//因此我们设置两个选项m,n,若等于则++,否则--,个数为0重原创 2016-09-01 19:57:25 · 382 阅读 · 0 评论 -
[leetcode]238. Product of Array Except Self
//算法思想是先求出i 之前的所有乘积,再求出i 之后的所有乘积,两者之积就是i的值class Solution {public: vector productExceptSelf(vector& nums) { int n=nums.size(); vector product(n,0); if(nums.s原创 2016-09-01 22:18:43 · 129 阅读 · 0 评论 -
[leetcode]80. Remove Duplicates from Sorted Array II
//已排序,则做in-place置换class Solution {public: int removeDuplicates(vector& nums) { int n=nums.size(); if(n<3) return n; int i=2; for(int j=2;j<n;j++)原创 2016-09-02 00:15:02 · 126 阅读 · 0 评论 -
[leetcode]78. Subsets
class Solution {public: vector> subsets(vector& nums) { vector> ret; vector cur; ret.push_back(cur); sort(nums.begin(),nums.end());原创 2016-09-02 14:31:59 · 161 阅读 · 0 评论 -
[leetcode]75. Sort Colors
class Solution {public: void sortColors(vector& nums) { int n=nums.size(); int a=0; int b=n-1; int i=0; //设置区间,使得[0,a)为0,[a,i)为1,[i,b]为乱序,(b,n-1]为2;原创 2016-09-02 15:27:05 · 136 阅读 · 0 评论 -
[leetcode]74. Search a 2D Matrix
class Solution {public: bool searchMatrix(vector>& matrix, int target) { int m=matrix.size(); int n=matrix[0].size(); if( targetmatrix[m-1][n-1]) return f原创 2016-09-02 16:47:22 · 141 阅读 · 0 评论 -
[leetcode]73. Set Matrix Zeroes
// 将第一行第一列用以表示是否存在0class Solution {public: void setZeroes(vector>& matrix) { int m=matrix.size(); if(m==0)return; int n=matrix[0].size(); if(n==0)return;原创 2016-09-02 20:43:30 · 237 阅读 · 0 评论 -
[leetcode]11. Container With Most Water
// 每次都是短板进行移动,只有这样才可能提高容积class Solution {public: int maxArea(vector& height) { int l=0; int r=height.size()-1; if(height.size()<=1) return 0; int area=0;原创 2016-09-02 21:42:03 · 176 阅读 · 0 评论 -
[leetcode]62. Unique Paths
class Solution {public: int uniquePaths(int m, int n) { if(m==1||n==1)return 1; vector>path(m,vector(n,0)); for(int i=0;i<m;i++) path[i][0]=1;原创 2016-09-02 22:15:18 · 206 阅读 · 0 评论 -
[leetcode]59. Spiral Matrix II
class Solution {public: vector> generateMatrix(int n) { vector> path(n,vector (n,0)); int l=0; int h=n-1; int sum=1; while(l<h) {原创 2016-09-02 23:04:10 · 161 阅读 · 0 评论 -
二叉树性质
二叉树性质1. 二叉树的度 二叉树的度就是二叉树分支的数目 二叉树叶子节点即度为0的节点 二叉树度为2的节点时有两个子树的节点 公式1:二叉树总节点数=叶子节点数+度为2的节点数+度为1的节点数公式2:二叉树的总节点数=总度数 +1 (从下往上看,只有头节点没有上面的那个度分支) 例子1:设一棵二叉树有 3 个叶子节点,有 8原创 2016-09-07 17:21:14 · 1282 阅读 · 0 评论