比特位计数
偶数的1数量跟它除2的数一样(可以想成左移一位)
奇数的1数量等于它前面的偶数+1
class Solution {
public int[] countBits(int num) {
int[] dp=new int[num+1];
if(num==0){return dp;}
dp[0]=0;
dp[1]=1;
for(int i=2;i<=num;i++){
if(i%2==0){dp[i]=dp[i/2];}
else{dp[i]=dp[i-1]+1;}
}
return dp;
}
}
第k大的数
用选择排序做的
class Solution {
public int findKthLargest(int[] nums, int k) {
for(int i=nums.length-1;i>=nums.length-k;i--){
int max=nums[i];
int index=i;
for(int j=i-1;j>=0;j--){
if(nums[j]>max){index=j;max=nums[j];}
}
nums[index]=nums[i];
nums[i]=max;
}
return nums[nums.length-k];
}
}