1207. 獨(dú)一無(wú)二的出現(xiàn)次數(shù)
1.題目:
給你一個(gè)整數(shù)數(shù)組?arr,請(qǐng)你幫忙統(tǒng)計(jì)數(shù)組中每個(gè)數(shù)的出現(xiàn)次數(shù)。
如果每個(gè)數(shù)的出現(xiàn)次數(shù)都是獨(dú)一無(wú)二的,就返回?true;否則返回 false。
示例 1:
輸入:arr = [1,2,2,1,1,3]
輸出:true
解釋:在該數(shù)組中,1 出現(xiàn)了 3 次,2 出現(xiàn)了 2 次,3 只出現(xiàn)了 1 次。沒有兩個(gè)數(shù)的出現(xiàn)次數(shù)相同。
示例 2:
輸入:arr = [1,2]
輸出:false
示例 3:
輸入:arr = [-3,0,1,-3,1,1,1,-3,10,0]
輸出:true
2.思路:
數(shù)組在hash中的應(yīng)用(不熟)383贖金信
3.代碼:
public boolean uniqueOccurrences(int[] arr) {
//數(shù)組在哈希法中的應(yīng)用
int[] count=new int[2002];
for(int i=0;i<arr.length;i++){
count[arr[i]+1000]++;
}
boolean[] bool=new boolean[1001];
for(int i=0;i<count.length;i++){
if(count[i]>0){
if(bool[count[i]]==false){
bool[count[i]]=true;
}else{
return false;
}
}
}
return true;
}
1365. 有多少小于當(dāng)前數(shù)字的數(shù)字
1.題目:
給你一個(gè)數(shù)組?nums,對(duì)于其中每個(gè)元素?nums[i],請(qǐng)你統(tǒng)計(jì)數(shù)組中比它小的所有數(shù)字的數(shù)目。
換而言之,對(duì)于每個(gè)?nums[i]?你必須計(jì)算出有效的?j?的數(shù)量,其中 j 滿足?j != i 且 nums[j] < nums[i]?。
以數(shù)組形式返回答案。
示例 1:
輸入:nums = [8,1,2,2,3]
輸出:[4,0,1,1,3]
解釋:?
對(duì)于 nums[0]=8 存在四個(gè)比它小的數(shù)字:(1,2,2 和 3)。?
對(duì)于 nums[1]=1 不存在比它小的數(shù)字。
對(duì)于 nums[2]=2 存在一個(gè)比它小的數(shù)字:(1)。?
對(duì)于 nums[3]=2 存在一個(gè)比它小的數(shù)字:(1)。?
對(duì)于 nums[4]=3 存在三個(gè)比它小的數(shù)字:(1,2 和 2)。
示例 2:
輸入:nums = [6,5,4,8]
輸出:[2,1,0,3]
示例 3:
輸入:nums = [7,7,7,7]
輸出:[0,0,0,0]
2.思路:
正常解
3.代碼:
public int[] smallerNumbersThanCurrent(int[] nums) {
int[] res=new int[nums.length];
int count=0;
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums.length;j++){
if(i!=j && nums[i]>nums[j]){
count++;
}
}
res[i]=count;
count=0;
}
return res;
}
941. 有效的山脈數(shù)組
1.題目:
給定一個(gè)整數(shù)數(shù)組 arr,如果它是有效的山脈數(shù)組就返回?true,否則返回 false。
讓我們回顧一下,如果 arr?滿足下述條件,那么它是一個(gè)山脈數(shù)組:
arr.length >= 3
在?0 < i?< arr.length - 1?條件下,存在?i?使得:
arr[0] < arr[1] < ... arr[i-1] < arr[i]
arr[i] > arr[i+1] > ... > arr[arr.length - 1]
示例 1:
?輸入:arr = [2,1]
輸出:false
示例 2:
輸入:arr = [3,5,5]
輸出:false文章來源:http://www.zghlxwxcb.cn/news/detail-618223.html
2.思路:
雙指針文章來源地址http://www.zghlxwxcb.cn/news/detail-618223.html
3.代碼:
public boolean validMountainArray(int[] arr) {
if(arr.length<3){
return false;
}
int left=0;
int right=arr.length-1;
//注意數(shù)組越界問題
while(left<arr.length-1 && arr[left]<arr[left+1]){
left++;
}
while(right>0 && arr[right]<arr[right-1]){
right--;
}
if(left==right &&left!=0 &&right!=arr.length-1){
return true;
}
return false;
}
到了這里,關(guān)于Practice1|1207. 獨(dú)一無(wú)二的出現(xiàn)次數(shù)、1365. 有多少小于當(dāng)前數(shù)字的數(shù)字、941. 有效的山脈數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!