自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (9)
  • 收藏
  • 关注

原创 4. Median of Two Sorted Arrays

在寻找两个已经排好序的数组的第k小的元素的时候参考了下面一篇博客 http://blog.csdn.net/beiyeqingteng/article/details/7533304/class Solution {private: int findK(vector<int>& nums1,int pa,vector<int>& nums2,int setpa,int k) {

2016-05-30 10:29:36 339

原创 108. Convert Sorted Array to Binary Search Tree

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-27 09:17:46 314

原创 47. Permutations II

class Solution {public: vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int>> ret; if(nums.size()==0) return ret; sort(nums.begin(),nums.en

2016-05-26 21:36:24 346

原创 46. Permutations

class Solution {public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> ret; if(nums.size()==0) return ret; vector<int> temp; temp.

2016-05-26 19:19:05 347

原创 349. Intersection of Two Arrays

class Solution { public: vector intersection(vector& nums1, vector& nums2) { sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end()); vector<int> a; int i=0;

2016-05-26 16:36:18 310

原创 93. Restore IP Addresses

枚举class Solution {public: vector<string> restoreIpAddresses(string s) { vector<string> ret; string ans; for (int a=1; a<=3; a++) for (int b=1; b<=3; b++)

2016-05-25 10:19:10 541

原创 95. Unique Binary Search Trees II

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-23 19:54:36 308

原创 117. Populating Next Right Pointers in Each Node II

/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {

2016-05-22 11:18:51 254

原创 116. Populating Next Right Pointers in Each Node

/** * Definition for binary tree with next pointer. * struct TreeLinkNode { * int val; * TreeLinkNode *left, *right, *next; * TreeLinkNode(int x) : val(x), left(NULL), right(NULL), next(NULL) {

2016-05-22 11:00:20 262

原创 107. Binary Tree Level Order Traversal II

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-22 10:43:49 322

原创 102. Binary Tree Level Order Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-22 10:28:53 266

原创 114. Flatten Binary Tree to Linked List

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-22 09:58:06 259

原创 99. Recover Binary Search Tree

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-18 11:01:17 269

原创 110. Balanced Binary Tree

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-18 10:12:34 233

原创 103. Binary Tree Zigzag Level Order Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-17 10:01:31 264

原创 106. Construct Binary Tree from Inorder and Postorder Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-16 11:48:45 261

原创 105. Construct Binary Tree from Preorder and Inorder Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-16 11:37:38 218

原创 111. Minimum Depth of Binary Tree

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-16 10:44:12 203

原创 104. Maximum Depth of Binary Tree

遍历所有可能的情况, 到了叶节点 则更新最大深度/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(

2016-05-16 10:16:15 254

原创 113. Path Sum II

遍历所有的路径 并将遍历的路径保存下来 遍历到叶子节点的时候 将满足条件的路径加入ret中 最后返回./** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x)

2016-05-16 09:59:16 225

原创 112. Path Sum

枚举出所有路径 然后看所有的路径和中有没有所要的数/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), righ

2016-05-16 09:35:59 247

原创 129. Sum Root to Leaf Numbers

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-14 23:16:15 192

原创 94. Binary Tree Inorder Traversa

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-14 22:52:52 345

原创 145. Binary Tree Postorder Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-14 22:40:05 215

原创 144. Binary Tree Preorder Traversal

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-14 22:20:39 221

原创 100. Same Tree

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class

2016-05-14 22:02:50 223

原创 75. Sort Colors

left指向存放0的位置 middle指向正在扫描的元素 right 指向存放2的位置 当middle 指向1的跳过 指向 0时和left交换 指向2时和right交换 但是注意到middle>=left 所以left指向的元素为1 所以和middle交换后 直接left++ middle++  而right指向的元素不确定所以和middle交换后 right– 而middle却没有变

2016-05-13 20:11:31 298

原创 79. Word Search

class Solution {private: int m; int n; bool dfs(vector<vector<char>>& board,int i,int j,string word) { if(word.size()==0)//如果要搜索的词长度为0就返回存在 return true; else

2016-05-13 19:16:39 424

原创 31. Next Permutation

参考了这篇文章http://wordaligned.org/articles/next-permutation#toc5 不得不说外国人写的真的很详细 这篇文章讲解了寻找字典序中的下一个序列的原理 在字典序中 所有的元素按从小到大排列是最小的字典序 所有的元素按从大到小排列是最大的字典序i,ii指向相连的两个元素 从后向前遍历寻找第一个满足*i<**ii的元素 这样整个序列就可以分为h

2016-05-10 17:59:35 319

原创 73. Set Matrix Zeroes

class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int m=matrix.size(); int n=matrix[0].size(); vector<int> row(m,1); vector<int> column(n,1);

2016-05-10 09:23:05 512

原创 18. 4Sum

class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { int i,j,left,right; int temporaryt; int n=nums.size(); vector<vector<int>> ret;

2016-05-10 08:54:56 505

原创 3Sum Closest

class Solution {public: int threeSumClosest(vector<int>& nums, int target) { int i,left,right; int n=nums.size(); int sum,difference; difference=0x7ffffff;

2016-05-09 23:26:42 292

原创 15. 3Sum

class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { sort(nums.begin(),nums.end()); vector<vector<int>> ret; int n=nums.size(); if(n<3)

2016-05-09 11:41:15 288

原创 1. Two Sum

使用unordered_map 比map 查找单个元素要快 unordered_map使用的是红黑树来实现底层的public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> ret; unordered_map<int,int> m; for(int i=0

2016-05-09 10:01:41 234

原创 11. Container With Most Wate

题意是 给一个数组 数组中的每个数代表了一个线段的高度 求两个线段所能乘下的最多的水 本来我以为题目和42. Trapping Rain Water一样 但是后来才发现 线段是不计算宽度的 也就是说 两个线段中间存在一个比这两个线段都高的线段是没有关系的。 可以枚举出所有的可能的组合 求出最大的面积 但是时间复杂度是n*n 还有一种o(n)的方法 就是从最左边和最右边开始遍历 刚刚开

2016-05-09 09:24:40 311

原创 48. Rotate Image

要把整个矩阵顺时针旋转90度 可以变成 将矩阵先沿着从左上到右下的对角线做对称变换 然后再沿着竖直中心做对称变换 感觉旋转似乎都可以转换成对称变换class Solution {public: void rotate(vector<vector<int>>& matrix) { if(matrix.empty()) return ;

2016-05-09 08:40:20 194

原创 54. Spiral Matrix

class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> ret; int l=0;//记录是最外面的第几层 int m=matrix.size(); if(m==0) retur

2016-05-08 11:45:35 405

原创 41. First Missing Positive

class Solution {public: int firstMissingPositive(vector<int>& nums) { for(int i=0;i<nums.size();i++) { while(nums[i]>0&&nums[i]<=nums.size()&&nums[i]!=nums[nums[i]-1])

2016-05-08 10:50:16 220

原创 88. Merge Sorted Array

class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { vector<int> copynums1; for(int i=0;i<m;i++) copynums1.push_back(nums1[i]);

2016-05-07 22:43:18 245

原创 27. Remove Element

class Solution {public: int removeElement(vector<int>& nums, int val) { int scan,complete; scan=0; complete=0; while(scan<nums.size()) { if(nums

2016-05-07 22:19:28 213

PID算法介绍

pid算法是用于反馈控制的算法 适合于工业控制

2012-10-07

数字电路教程

很好的数字电路入门资源,非常适合入门 数字电路是基础哦

2012-09-23

TMP100驱动

温度传感器TMP100的驱动代码,可以直接拿过来用的

2012-09-18

安卓开发门必读

安卓开发必读 Android

2012-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除