前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
1.仅含置位位的最小整数
题目链接: 仅含置位位的最小整数 - 力扣(LeetCode)
题面:
代码:
java
class Solution {
public int smallestNumber(int n) {
int len = (int)(Math.log(n)/Math.log(2))+1;
return (1<<len)-1;
}
}
2.识别数组中的最大异常值
题目链接: 识别数组中的最大异常值 - 力扣(LeetCode)
题面:
代码:
java
class Solution {
public int getLargestOutlier(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
int n = nums.length;
int sum = 0;
for(int i = 0;i<n;i++){
sum+=nums[i];
map.merge(nums[i],1,Integer::sum);
}
int ans = Integer.MIN_VALUE;
for(int i = 0;i<n;i++){
int flag = sum-nums[i];
// System.out.println(flag);
if((flag%2==0)&&map.getOrDefault(flag/2,-1)!=-1&&((flag/2)!=nums[i]||map.get(flag/2)>1)){
ans = Math.max(ans,nums[i]);
}
}
return ans;
}
}
共勉!!!