leetcode
qq_37537011
这个作者很懒,什么都没留下…
展开
-
LeetCode 190.二进制位颠倒
方法一 :暴力,逐步颠倒 方法二:分治,参考大佬的题解,详细建筑师 //方法一 public int reverseBits(int n) { //Integer.reverse() int ret = 0; for (int i=0;i<32;i++){ ret = (ret<<1)+n&1; n >>= 1; } return ret; } //方法二 public int revers原创 2021-03-30 09:00:15 · 128 阅读 · 1 评论 -
leetcode-456. 132 Pattern
思路:从下标1到n-2枚举3的位置,min记录0到i-1的最小值,tree记录i+1到n-1的数据,其中treeMap的ceilingKey(min+1)函数可以返回大于min的最小元素value,value不为空且小于num[i],说明存在! public boolean find132pattern(int[] nums) { int min = nums[0]; TreeMap<Integer,Integer> tree = new TreeMap<>();原创 2021-03-24 10:21:39 · 128 阅读 · 0 评论 -
leetcode 191. 位1的个数(java)
思路:输入正负都有,因此不能使用常规的 带符号>>, 在java中提供了不带符号右移运算符>>>,可以把输入统一当成正数处理,下为实现代码, public int hammingWeight(int n) { int ret = 0; while (n!=0){ ret += n & 1; n >>>= 1; } return ret; } 最多比较32次,当然也可继续优化, pub原创 2021-03-22 09:35:58 · 118 阅读 · 0 评论