思路:
方法一:哈希
方法二:查找target的左边界和有边界,相减即可得到长度,也就是出现的次数
方法三:
取target的前一个数字,求其右边界
代码:
方法一:
class Solution {
public int search(int[] nums, int target) {
Map<Integer,Integer> map=new HashMap<>();
for(int num:nums){
if(num==target){
map.put(target,map.getOrDefault(target,0)+1);
}
}
return map.getOrDefault(target,0);
}
}
方法二:
class Solution {
public int search(int[] nums, int target) {
int i=0,j=nums.length-1;
int left=0,right=0;
//右边界
while(i<=j){
int m=i+(j-i)/2;
if(n