217:class Solution { public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(),nums.end()); for(int i=0;i<nums.size()-1;i++){ if(nums[i]==nums[i+1]){ return true; } } return false; } };
219:
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int,int>map;
int n=nums.size();
for(int i=0;i<n;i++){
int num=nums[i];
if((map.count(num)==1)&&(i-map[num]<=k)){
return true;
}else{
map[num]=i;
}
}
return false;
}
};
36:
class Solution {
public:
bool isValidSudoku(vector<vector<char>>& board) {
int arr[9][9]={0};
int arr2[9][9]={0};
int arr3[3][3][9]={0};
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
char c=board[i][j];
if(c!='.'){
int index=c-'0'-1;
arr[i][index]++;
arr2[j][index]++;
arr3[i/3][j/3][index]++;
if(arr[i][index]>1||arr2[j][index]>1||arr3[i/3][j/3][index]>1) {
return false;
}
}
}
}
return true;
}
};
346:
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_map<int,int> map;
vector<int> arr;
for(int num:nums1) {
map[num]++;
}
for(int num:nums2){
if(map[num]>0){
arr.push_back(num);
map[num]=0;
}
}
return arr;
}
};
350:
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
unordered_map<int,int>map;
unordered_map<int,int>map2;
vector<int>arr;
for(int num:nums1){
map[num]++;
}
for(int num:nums2){
map2[num]++;
}
for(unordered_map<int,int>::iterator it=map.begin();it!=map.end();it++){
if(map2.find(it->first)!=map2.end()){
int mins=min(it->second,map2[it->first]);
for(int i=0;i<mins;i++){
arr.push_back(it->first);
}
}
}
return arr;
}
};