diff --git a/animation-simulation/数组篇/leetcode27移除元素.md b/animation-simulation/数组篇/leetcode27移除元素.md index a7a51b8..1a14c5b 100644 --- a/animation-simulation/数组篇/leetcode27移除元素.md +++ b/animation-simulation/数组篇/leetcode27移除元素.md @@ -95,7 +95,7 @@ class Solution { return 0; } int i = 0; - for (int j = 0; j < nums.length; ++j) { + for (int j = 0; j < len; ++j) { //如果等于目标值,则删除 if (nums[j] == val) { continue; @@ -110,7 +110,7 @@ class Solution { Python3 Code: -```py +```python class Solution: def removeElement(self, nums: List[int], val: int) -> int: i = 0 @@ -121,3 +121,21 @@ class Solution: return i ``` +C++ Code: + +```cpp +class Solution { +public: + int removeElement(vector& nums, int val) { + int n = nums.size(); + if(!n) return 0; + int i = 0; + for(int j = 0; j < n; ++j){ + if(nums[j] == val) continue; + nums[i++] = nums[j]; + } + return i; + } +}; +``` + diff --git a/animation-simulation/数组篇/leetcode41缺失的第一个正数.md b/animation-simulation/数组篇/leetcode41缺失的第一个正数.md index 6c46f4d..73dacaf 100644 --- a/animation-simulation/数组篇/leetcode41缺失的第一个正数.md +++ b/animation-simulation/数组篇/leetcode41缺失的第一个正数.md @@ -119,7 +119,7 @@ class Solution { Python3 Code: -```py +```python class Solution: def firstMissingPositive(self, nums: List[int]) -> int: n = len(nums) diff --git a/animation-simulation/数组篇/剑指offer3数组中重复的数.md b/animation-simulation/数组篇/剑指offer3数组中重复的数.md index f20a2d0..f817fdd 100644 --- a/animation-simulation/数组篇/剑指offer3数组中重复的数.md +++ b/animation-simulation/数组篇/剑指offer3数组中重复的数.md @@ -57,6 +57,8 @@ class Solution { **题目代码** +Java Code: + ```java class Solution { public int findRepeatNumber(int[] nums) { @@ -80,3 +82,22 @@ class Solution { } ``` +C++ Code: + +```cpp +class Solution { +public: + int findRepeatNumber(vector& nums) { + if(nums.empty()) return 0; + int n = nums.size(); + for(int i = 0; i < n; ++i){ + while(nums[i] != i){ + if(nums[i] == nums[nums[i]]) return nums[i]; + swap(nums[i], nums[nums[i]]); + } + } + return -1; + } +}; +``` + diff --git a/animation-simulation/数组篇/长度最小的子数组.md b/animation-simulation/数组篇/长度最小的子数组.md index d0eaee6..2e88fb0 100644 --- a/animation-simulation/数组篇/长度最小的子数组.md +++ b/animation-simulation/数组篇/长度最小的子数组.md @@ -38,6 +38,8 @@ #### 题目代码 +Java Code: + ```java class Solution { public int minSubArrayLen(int s, int[] nums) { @@ -60,3 +62,23 @@ class Solution { } ``` +C++ Code: + +```cpp +class Solution { +public: + int minSubArrayLen(int t, vector& nums) { + int n = nums.size(); + int i = 0, sum = 0, winlen = INT_MAX; + for(int j = 0; j < n; ++j){ + sum += nums[j]; + while(sum >= t){ + winlen = min(winlen, j - i + 1); + sum -= nums[i++]; + } + } + return winlen == INT_MAX? 0: winlen; + } +}; +``` +