- 博客(7)
- 收藏
- 关注
原创 n&(n-1)到底是个啥
如果n是个奇数 很明显这个式子之后就相当于把最低位的1去掉了,变成比它小了1的偶数如果n是个偶数,n-1就是把n最后的那些0变成1了,把最后一个1变成0了,n&(n-1)就是把最后一个1变成了0了,后面都是0所以n&(n-1)的用途怎么说都是把最后一个0抹去了,可以用来计算刚开始n有几个0,只要每次让n=n&(n-1),当n=0的时候结束...
2019-12-21 11:38:04 1945
转载 查找前k个高频元素
思路一:库函数(一行)class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: return [item[0] for item in collections.Counter(nums).most_common(k)]思路二:堆class Solution:...
2019-12-19 15:09:46 154
原创 佛洛依德的兔子和乌龟,环形链表双指针问题
leetcode287 寻找重复数给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3分析:因为长度为n+1的数组的下标在0-n之间。题目中给出的这个数组的范围在1...
2019-12-16 10:35:37 198
转载 http和https的区别
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比htt...
2019-12-12 17:56:08 169
原创 快速排序的两种写法
p1,p2=-1,0 tmp=nums[p1] while(p2<len(nums)): if nums[p2]<=tmp: p1+=1 t=nums[p1] nums[p1]=nums...
2019-12-07 13:02:26 152
原创 leetcode 164最大间隔
桶排序的思想,一共有n个数,如果放进大于等于n个桶里面,最大间隔将从桶的间隔中取。如果要放进大于等于n个桶里,那么桶的增量应该怎么取。首先要把n个数字去除重复的数字,然后将最大值减去最小值也就是累计的增量,由于最少要设置n个桶,那么一共增加n-1次,可以让增量为(最大值-最小值)/(n-1)取整,桶的个数即为(最大值-最小值)/(n-1)加一后向上取整。class Solution: ...
2019-12-04 12:06:11 170
原创 leetcode155最小栈
class MinStack: def __init__(self): """ initialize your data structure here. """ self.stack=[] self.min_stack=[] def push(self, x: int) -> None: ...
2019-12-03 21:31:12 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人