十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
題目:
給你一個(gè)整數(shù)數(shù)組 nums 。如果任一值在數(shù)組中出現(xiàn)至少兩次 ,返回 true;如果數(shù)組中每個(gè)元素互不相同,返回 false 。
示例 1:
輸入:nums = [1,2,3,1]
輸出:true
示例 2:
輸入:nums = [1,2,3,4]
輸出:false
代碼實(shí)現(xiàn):
class Solution {public:
bool cmp(int i,int j)
{return i& nums) {sort(nums.begin(),nums.end());//將數(shù)組進(jìn)行排序
//對(duì)排序后的數(shù)組進(jìn)行遍歷,比較前后兩個(gè)元素的大小
for(int i = 0; i< nums.size()-1; i++){if(nums[i] == nums[i+1]){return true;
}
}
return false;
}
};
思路很簡(jiǎn)單:先排序,對(duì)排序后的元素前后進(jìn)行比較即可。
這里主要對(duì)C++自帶的sort排序函數(shù)的使用作一些介紹:
#include
using namespace std;
vectornum
,則如下://cmp是自定義的比較器(判斷函數(shù))
sort(num.begin(), num.end(), cmp)
//cmp是自定義的比較器(判斷函數(shù))
sort(a,a+n,cmp);
下面的代碼是一個(gè)簡(jiǎn)單的測(cè)試:
#include#include#include
using namespace std;
bool cmp(int i, int j)
{return i >j;
}
int main() {//array元素排序
int nums[] = {1,5,2,3};
sort(nums, nums+4, cmp);
cout<< "--------------"<< endl;
for (int i = 0; i< sizeof(nums)/sizeof(nums[0]); i++) {cout<< nums[i]<< endl;
}
cout<< "--------------"<< endl;
//vector元素排序
vectornums1 = {1,5,2,3 };
sort(nums1.begin(), nums1.end(), cmp);
cout<< "--------------"<< endl;
for (int i = 0; i< nums1.size(); i++) {cout<< nums1[i]<< endl;
}
cout<< "--------------"<< endl;
system("pause");
return 0;
}
這里的cmp函數(shù)就是自定義的比較器,即將對(duì)應(yīng)的元素按從大到小的順序進(jìn)行排序。
輸出的結(jié)果為:
--------------
5
3
2
1
--------------
--------------
5
3
2
1
--------------
( C++竟然沒(méi)有現(xiàn)成的獲取數(shù)組長(zhǎng)度的函數(shù),還得用sizeof(arr) / sizeof(arr[0])
)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧