a. easy b. greedy problem, seems as 330
This commit is contained in:
		
							
								
								
									
										32
									
								
								contest-20231203/2951/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								contest-20231203/2951/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | #include<stdcpp.h> | ||||||
|  | using namespace std; | ||||||
|  | class Solution { | ||||||
|  | public: | ||||||
|  |     vector<int> findPeaks(vector<int>& mountain) { | ||||||
|  |         vector<int>rlt; | ||||||
|  |         const int len = mountain.size(); | ||||||
|  |         for(int i = 1 ; i < mountain.size() - 1; i++){ | ||||||
|  |             if(mountain[i] > mountain[i-1] && mountain[i] > mountain[i+1]) | ||||||
|  |             rlt.push_back(i); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return rlt; | ||||||
|  |     } | ||||||
|  | }; | ||||||
|  | int main(){ | ||||||
|  |     Solution sol; | ||||||
|  |  | ||||||
|  |     vector<int> ex1 = {2,4,4}; | ||||||
|  |     vector<int>rlt1 = sol.findPeaks(ex1); | ||||||
|  |     for(int i = 0 ; i <rlt1.size();i++) | ||||||
|  |         cout<<rlt1[i]<<' '; | ||||||
|  |     cout<<endl; | ||||||
|  |  | ||||||
|  |     vector<int> ex2 = {1,4,3,8,5}; | ||||||
|  |     vector<int>rlt2 = sol.findPeaks(ex2); | ||||||
|  |     for(int i = 0 ; i <rlt2.size();i++) | ||||||
|  |         cout<<rlt2[i]<<' '; | ||||||
|  |     cout<<endl; | ||||||
|  |  | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
							
								
								
									
										42
									
								
								contest-20231203/2952/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								contest-20231203/2952/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | #include<stdcpp.h> | ||||||
|  | using namespace std; | ||||||
|  | class Solution { | ||||||
|  | public: | ||||||
|  |     int minimumAddedCoins(vector<int>& coins, int target) { | ||||||
|  |         const int len = coins.size();  | ||||||
|  |         sort(coins.begin(), coins.end()); | ||||||
|  |         int express = 0; | ||||||
|  |         int idx = 0; | ||||||
|  |         int ans = 0; | ||||||
|  |         while(express < target){ | ||||||
|  |             if(idx < len && express+1 >= coins[idx]){ | ||||||
|  |                 express += coins[idx++]; | ||||||
|  |             }else{ | ||||||
|  |                 ans++; | ||||||
|  |                 express += express + 1; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         cout<<ans<<endl; | ||||||
|  |         return ans; | ||||||
|  |     } | ||||||
|  | }; | ||||||
|  | int main(){ | ||||||
|  |     Solution sol; | ||||||
|  |  | ||||||
|  |     vector<int> ex1 = {1,4,10}; | ||||||
|  |     int target1 = 19; | ||||||
|  |     sol.minimumAddedCoins(ex1,target1); | ||||||
|  |  | ||||||
|  |     vector<int> ex2 = {1,4,10,5,7,19}; | ||||||
|  |     int target2 = 19; | ||||||
|  |     sol.minimumAddedCoins(ex2,target2); | ||||||
|  |  | ||||||
|  |     vector<int> ex3 = {1,1,1}; | ||||||
|  |     int target3 = 20; | ||||||
|  |     sol.minimumAddedCoins(ex3,target3); | ||||||
|  |  | ||||||
|  |     vector<int> ex4 = {1}; | ||||||
|  |     int target4 = 100000; | ||||||
|  |     sol.minimumAddedCoins(ex4,target4); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user