CongliYin的博客

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

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

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

2018-09-14 18:14:40

阅读数:46

评论数:0

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

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

2018-09-14 17:30:33

阅读数:148

评论数:0

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

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

2018-09-14 15:28:21

阅读数:74

评论数:0

Leetcode#142. 环形链表 II

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

2018-09-05 21:57:24

阅读数:34

评论数:0

蓄水池问题

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

2018-09-05 20:34:19

阅读数:18

评论数: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

阅读数:50

评论数:0

Leetcode#477. 汉明距离总和

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

2018-09-05 18:03:25

阅读数:62

评论数:0

Leetcode#461. 汉明距离

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

2018-09-05 17:58:21

阅读数:12

评论数: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

阅读数:28

评论数:0

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