CongliYin的博客

达则兼济天下,穷则独善其身。

排序:
默认
按更新时间
按访问量

Mac OS下安装Photoshop CC 2017破解版

见链接: https://www.jianshu.com/p/ed2defaf9301

2018-10-13 15:59:38

阅读数:31

评论数:0

LeetCode #235. 二叉搜索树的最近公共祖先

题目描述:给定二叉搜索树及两个节点,求这两个节点的最近公共祖先 解题思路: 两个节点分别在左右子树,公共祖先是根节点; 两个节点都在左子树; 两个节点都在右子树; class Solution { public: TreeNode* lowestCommonAncestor(...

2018-09-14 18:14:40

阅读数:19

评论数:0

二维数组查找某个数出现的次数

int solution(vector<vector<int>> A, int target) { if(A.size() == 0) return 0; int cols = ...

2018-09-14 17:30:33

阅读数:40

评论数:0

买n个苹果,一袋6个或者8个,求袋数最少时刚好买够n个?

题目描述:小易去买苹果,有两种包装,一种一袋8个,一种一袋6个,小易要买n个苹果(不能多也不能少),输出袋子最少的购买方案下的袋子,若无法正好买到n个,则输出-1。 解题思路: 如果要使袋子数最少,那么一定是尽量买8袋的,如果8袋不满足条件,逐步减少袋数,看6袋是否满足; int sol...

2018-09-14 15:28:21

阅读数:26

评论数:0

Leetcode#142. 环形链表 II

题目描述:如果链表有环,返回环的入口;如果没有环,返回NULL; 解题思路: 之前有一题是判断链表是否有环,使用快慢指针实现; 对于此题,在链表有环且快慢指针第一次相遇时,将慢指针指向链表头,快指针不变,然后两者一起前进(都是一步),知道再次相遇,就是环的入口; /** * Defin...

2018-09-05 21:57:24

阅读数:10

评论数:0

蓄水池问题

题目描述: 给出一个数据流,这个数据流的长度很大或者未知,并且对该数据流中数据只能访问一次。请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等。 或者也可以这么说: 要求从N个元素中随机的抽取k个元素,其中N的大小未知。 解题思路: 用到的方法为蓄水池抽样算法(reserv...

2018-09-05 20:34:19

阅读数:12

评论数:0

不使用新的变量交换两个变量的值

解题思路: 加减法 异或 都很简单,思路很新奇 # 加减法 def swap(a, b): a = a + b b = a - b a = a - b return a,b # 异或 def swap(a, b): a = a ^ b b ...

2018-09-05 20:28:15

阅读数:24

评论数:0

Leetcode#477. 汉明距离总和

题目描述:链接 解题思路: 利用计算汉明距离的那题,暴力求解(leetcode中超时) 好的方法进一步讨论中 class Solution { public: int hammingDistance(int x, int y) { //两个数异或,为1表...

2018-09-05 18:03:25

阅读数:33

评论数:0

Leetcode#461. 汉明距离

题目描述:链接 解题思路: 两个数的异或,如果二进制结果中某一位为1,说明原始数字的对应位置两个数是不同的,因此只需计算两个数异或之后1的个数即可; 一个二进制数中1的个数,可以使用n&(n-1)的方法; class Solution { public: ...

2018-09-05 17:58:21

阅读数:6

评论数:0

python:对dict排序

d = {'a':7, 'b':3, 'e':12, 'c':8} 按照key大小排序 # 按key排序 d1 = [(k, d[k]) for k in sorted(d.keys())] 按照value大小排序 # 按value排序 d2 = sorted(d.item...

2018-09-02 21:18:53

阅读数:9

评论数:0

Leetcode#700. 二叉搜索树中的搜索

解题思路: 题目 递归,注意递归时要返回 class Solution { public: TreeNode* searchBST(TreeNode* root, int val) { if(root == NULL) return...

2018-08-29 23:30:26

阅读数:15

评论数:0

Leetcode#234. 回文链表

解题思路: 快慢指针找到链表中点; 反转链表中点->next,即链表的后半部分; 同时遍历判断反转后的后半部分与前半部分的值的大小; /** * Definition for singly-linked list. * struct ListNode { * ...

2018-08-28 23:39:45

阅读数:10

评论数:0

Leetcode#42. 接雨水

解题思路: 可以发现被水填满后的形状是先升后降的塔形,因此,先遍历一遍找到塔顶,然后分别从两边开始,往塔顶所在位置遍历,水位只会增高不会减小,且一直和最近遇到的最大高度持平,这样知道了水位,就可以边遍历边计算面积; class Solution { public: int trap...

2018-08-28 17:43:28

阅读数:17

评论数:0

Leetcode#876. 链表的中间结点

解题思路: 寻找中间节点的问题,最好的方法就是一个快指针,一个慢指针; 细节:如果链表节点数是偶数,需要返回的是中间两个节点的第二个,可以通过快指针的状态区分链表节点是奇是偶 /** * Definition for singly-linked list. * struct ListN...

2018-08-27 23:36:48

阅读数:14

评论数:0

Leetcode#718. 最长重复子数组

动态规划: class Solution { public: int findLength(vector<int>& A, vector<int>& B...

2018-08-27 16:46:09

阅读数:41

评论数:0

Leetcode#230. 二叉搜索树中第K小的元素

解题思路: 二叉搜索树的中序遍历是递增的; 遍历后的第k个元素即为第k小; /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...

2018-08-26 23:36:42

阅读数:17

评论数:0

Leetcode#154. 寻找旋转排序数组中的最小值 II

解题思路: 思路一:暴力搜索 思路二:二分搜索,当 mid > right时, left = mid+1;当mid < left时,right = mid;否则,right–; //思路一 class Solution { public: ...

2018-08-26 23:28:40

阅读数:8

评论数:0

Leetcode#153. 寻找旋转排序数组中的最小值

解题思路: 思路一:暴力搜索,后一个元素比前一个小,返回后一个元素;如果没有,说明最小的元素在第一个; 思路二:二分搜索, //思路一 class Solution { public: int findMin(vector<int&am...

2018-08-26 23:11:11

阅读数:12

评论数:0

Leetcode#24. 两两交换链表中的节点

思路一:非递归,借助于一个新节点 思路二:递归 //思路一 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo...

2018-08-26 22:16:03

阅读数:20

评论数:0

Leetcode#11. 盛最多水的容器

题目见图片: 解题思路: 思路一:暴力求解,两个循环遍历,时间复杂度O(n*n); 思路二:双指针p, q 头尾遍历,每次较小的指针往中间移动,直至相遇,时间复杂度O(n); //思路一 class Solution { public: int maxArea(vector&...

2018-08-26 21:42:20

阅读数:14

评论数:0

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