![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
咕咕咕咕哦
你若安好,就是失眠
展开
-
[数据结构] 图
(1)若有向无环图描述表达式(A+B)*((A+B)/A),至少需要的顶点数目是?顶点5个边6个 (2)设有6个结点的无向图,该图至少有(11)条边,才能确保是一个连通图。连通图的意思是任意两点之间都是连通的,若该图有向,则为强连通图。 只要5条边就能构造联通图,这里的“确保”意思是,6个顶点不管怎么连(平行边除外),你是找不出非连通图的情况的,首先5个顶点的全连通图需原创 2016-08-30 21:50:22 · 466 阅读 · 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 · 189 阅读 · 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 · 132 阅读 · 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 · 176 阅读 · 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 · 156 阅读 · 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 · 495 阅读 · 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 · 451 阅读 · 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 · 145 阅读 · 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 · 170 阅读 · 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 · 238 阅读 · 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 · 251 阅读 · 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 · 273 阅读 · 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 · 134 阅读 · 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 · 190 阅读 · 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 · 267 阅读 · 0 评论 -
[数据结构]散列表-链接法和开放寻址法 线性探查
在介绍hash表之前首先提到直接寻址表但是由于实际上存储在字典里的关键字集合K比实际上所有可能的关键字的全域U要小的多,因此散列表所需要的存储空间比直接寻址表要小的多 通过散列函数h:U -> {0,1,2…m-1}其中m 远小于|U|但是对于h(2)=h(5)这样的访问冲突,我们采用两种方法来解决① 链接法② 开放定址法原创 2016-08-30 23:31:56 · 7399 阅读 · 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 · 373 阅读 · 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 · 122 阅读 · 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 · 117 阅读 · 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 · 153 阅读 · 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 · 130 阅读 · 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 · 134 阅读 · 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 · 229 阅读 · 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 · 170 阅读 · 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 · 199 阅读 · 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 · 154 阅读 · 0 评论 -
二叉树性质
二叉树性质1. 二叉树的度 二叉树的度就是二叉树分支的数目 二叉树叶子节点即度为0的节点 二叉树度为2的节点时有两个子树的节点 公式1:二叉树总节点数=叶子节点数+度为2的节点数+度为1的节点数公式2:二叉树的总节点数=总度数 +1 (从下往上看,只有头节点没有上面的那个度分支) 例子1:设一棵二叉树有 3 个叶子节点,有 8原创 2016-09-07 17:21:14 · 1231 阅读 · 0 评论