add some passed codes
This commit is contained in:
		
							
								
								
									
										36
									
								
								209-240524-pass/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								209-240524-pass/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| #include<iostream> | ||||
| #include<vector> | ||||
|  | ||||
| using namespace std; | ||||
|  | ||||
| class Solution { | ||||
| public: | ||||
|     int minSubArrayLen(int target, vector<int>& nums) { | ||||
|         vector<int> sub; | ||||
|         sub.push_back(0); | ||||
|         int num_sum = 0; | ||||
|         for(int i = 0 ; i < nums.size() ; i++){ | ||||
|             int num = nums[i]; | ||||
|             sub.push_back(num_sum + num); | ||||
|             num_sum += num; | ||||
|         } | ||||
|         if(num_sum < target){ | ||||
|             return 0; | ||||
|         } | ||||
|         for(int length = 1 ; length < nums.size() + 1 ; length ++){ | ||||
|             for(int i = 0 ; i <= nums.size() - length;i++){ | ||||
|                 int rlt = sub[i+length] - sub[i]; | ||||
|                 if(rlt >= target){ | ||||
|                     return length; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         return 0; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| int main(){ | ||||
|     Solution *sol = new Solution(); | ||||
|     vector<int>tmp = {2, 3, 1 ,4, 2 ,3}; | ||||
|     cout<<sol->minSubArrayLen(7,tmp)<<endl; | ||||
| } | ||||
							
								
								
									
										42
									
								
								209-240524-pass/main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								209-240524-pass/main.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| class Solution1(object): | ||||
|     def minSubArrayLen(self, target, nums): | ||||
|         """ | ||||
|         :type target: int | ||||
|         :type nums: List[int] | ||||
|         :rtype: int | ||||
|         """ | ||||
|         sub = [] | ||||
|         sub.append(0) | ||||
|         num_sum = 0 | ||||
|         for ind, num in enumerate(nums): | ||||
|             sub.append(num_sum + num) | ||||
|             num_sum += num | ||||
|         print(nums) | ||||
|         for length in range(1, len(nums) + 1): | ||||
|             print(length) | ||||
|             for i in range(0, len(nums) - length + 1): | ||||
|                 rlt = sub[ i + length ] - sub[i] | ||||
|                 print(rlt, length, i) | ||||
|                 if rlt >= target: | ||||
|                     return length | ||||
|         return 0 | ||||
| class Solution: | ||||
|     def minSubArrayLen(self, target: int, nums: List[int]) -> int: | ||||
|         if sum(nums) < target: | ||||
|             return 0 | ||||
|         left_idx = 0 | ||||
|         s = 0 # sum | ||||
|         ans = len(nums) | ||||
|  | ||||
|         for right_idx, val in enumerate(nums): | ||||
|             s += val | ||||
|             while s >= target: | ||||
|                 s -= nums[left_idx] | ||||
|                 ans = min(ans, right_idx - left_idx + 1) | ||||
|                 left_idx += 1 | ||||
|         return ans | ||||
|  | ||||
| print(Solution().minSubArrayLen(7, [2,3,1,2,4,3])) | ||||
| print(Solution().minSubArrayLen(4, [1, 1, 4])) | ||||
| print(Solution().minSubArrayLen(11, [1, 1, 1, 1])) | ||||
| print(Solution().minSubArrayLen(15, [1, 2, 3, 4, 5])) | ||||
		Reference in New Issue
	
	Block a user