update the folder name
This commit is contained in:
		
							
								
								
									
										59
									
								
								80-231129-pass/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								80-231129-pass/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| #include<bits/stdc++.h> | ||||
| using namespace std; | ||||
|  | ||||
| class Solution { | ||||
| public: | ||||
|     int removeDuplicates(vector<int>& nums) { | ||||
|         const int number_limit = 2*1e4+10; | ||||
|         int numbers[number_limit] = {}; | ||||
|         const int shift = 1e4; | ||||
|         for(int i = 0 ; i < nums.size() ; i++){ | ||||
|             numbers[nums[i]+shift]++; | ||||
|         } | ||||
|         int sum = 0; | ||||
|         int cur = 0; | ||||
|         for(int i = 0 ; i < number_limit ;i++){ | ||||
|             if(numbers[i]>=2){ | ||||
|                 nums[cur++] = i-shift; | ||||
|                 nums[cur++] = i-shift; | ||||
|                 sum += 2; | ||||
|             }else if(numbers[i] == 1){ | ||||
|                 nums[cur++] = i-shift; | ||||
|                 sum += 1; | ||||
|             } | ||||
|         } | ||||
|         return sum; | ||||
|     } | ||||
|     int better(vector<int>& nums){ | ||||
|         int i = 0 ;  | ||||
|         for(int ele: nums){ | ||||
|             if( i==0 || i==1 || nums[i-2]!=ele){ | ||||
|                 nums[i] = ele; | ||||
|                 i++; | ||||
|             } | ||||
|         } | ||||
|         return i; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| int main(){ | ||||
|  | ||||
|     Solution sol; | ||||
|     vector<int> ex1 = {1,1,1,2,2,3}; | ||||
|     // int k = sol.removeDuplicates(ex1); | ||||
|     int k = sol.better(ex1); | ||||
|     cout<<k<<endl; | ||||
|     for(int i = 0 ; i < k ; i++){ | ||||
|         cout<<ex1[i]<<' '; | ||||
|     } | ||||
|     cout<<endl; | ||||
|     vector<int> ex2 = {0,0,1,1,1,1,2,3,3}; | ||||
|     // k = sol.removeDuplicates(ex2); | ||||
|     k = sol.better(ex2); | ||||
|     cout<<k<<endl; | ||||
|     for(int i = 0 ; i < k ; i++){ | ||||
|         cout<<ex2[i]<<' '; | ||||
|     } | ||||
|     cout<<endl; | ||||
|     return 0; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user