Skip to content

Commit 40cee1b

Browse files
committed
update: 添加问题“3349.检测相邻递增子数组I”的代码和题解 (#1170)
word: en+jp (#1169) en: 2025.10.12+2025.10.14(10.13背了但是没遇见生词) 3349: AC.cpp+py+go+java+rust cpp - AC,85.94%,46.88% WA.py py - AC,80.43%,19.57% go - AC,12.50%,87.50% CE.java java - AC,100.00%,25.58% rust - AC,-%,100.00% Signed-off-by: LetMeFly666 <[email protected]>
1 parent ffb288d commit 40cee1b

13 files changed

+415
-1
lines changed

.commitmsg

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
word: en+jp (#1169)
2+
3+
en: 2025.10.12+2025.10.14(10.13背了但是没遇见生词)
4+
5+
3349: AC.cpp+py+go+java+rust
6+
cpp - AC,85.94%,46.88%
7+
WA.py
8+
py - AC,80.43%,19.57%
9+
go - AC,12.50%,87.50%
10+
CE.java
11+
java - AC,100.00%,25.58%
12+
rust - AC,-%,100.00%
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* @Author: LetMeFly
3+
* @Date: 2025-10-14 20:14:45
4+
* @LastEditors: LetMeFly.xyz
5+
* @LastEditTime: 2025-10-14 20:18:02
6+
*/
7+
#if defined(_WIN32) || defined(__APPLE__)
8+
#include "_[1,2]toVector.h"
9+
#endif
10+
11+
class Solution {
12+
private:
13+
inline bool isOk(vector<int>& nums, int i, int k) {
14+
while (--k) {
15+
if (nums[i] >= nums[++i]) {
16+
return false;
17+
}
18+
}
19+
return true;
20+
}
21+
public:
22+
bool hasIncreasingSubarrays(vector<int>& nums, int k) {
23+
int n = nums.size();
24+
for (int i = 0; i + 2 * k <= n; i++) {
25+
if (isOk(nums, i, k) && isOk(nums, i + k, k)) {
26+
return true;
27+
}
28+
}
29+
return false;
30+
}
31+
};
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* @Author: LetMeFly
3+
* @Date: 2025-10-14 20:14:45
4+
* @LastEditors: LetMeFly.xyz
5+
* @LastEditTime: 2025-10-14 20:26:58
6+
*/
7+
package main
8+
9+
10+
func isOk3349(nums []int, i, k int) bool {
11+
for j := 0; j + 1 < k; j++ {
12+
if nums[i + j] >= nums[i + j + 1] {
13+
return false
14+
}
15+
}
16+
return true
17+
}
18+
19+
func hasIncreasingSubarrays(nums []int, k int) bool {
20+
for i := 0; i + 2 * k <= len(nums); i++ {
21+
if isOk3349(nums, i, k) && isOk3349(nums, i + k, k) {
22+
return true
23+
}
24+
}
25+
return false
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* @Author: LetMeFly
3+
* @Date: 2025-10-14 20:14:45
4+
* @LastEditors: LetMeFly.xyz
5+
* @LastEditTime: 2025-10-14 20:30:13
6+
*/
7+
// THIS IS NOT RIGHT
8+
class Solution {
9+
private boolean isOk(List<Integer> nums, int i, int k) {
10+
while (--k > 0) {
11+
if (nums[i] >= nums[++i]) {
12+
return false;
13+
}
14+
}
15+
return true;
16+
}
17+
18+
public boolean hasIncreasingSubarrays(List<Integer> nums, int k) {
19+
for (int i = 0; i + 2 * k <= nums.length(); i++) {
20+
if (isOk(nums, i, k) && isOk(nums, i + k, k)) {
21+
return true;
22+
}
23+
}
24+
return false;
25+
}
26+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'''
2+
Author: LetMeFly
3+
Date: 2025-10-14 20:14:45
4+
LastEditors: LetMeFly.xyz
5+
LastEditTime: 2025-10-14 20:21:32
6+
'''
7+
from typing import List
8+
9+
# THIS IS NOT RIGHT
10+
class Solution:
11+
def hasIncreasingSubarrays(self, nums: List[int], k: int) -> bool:
12+
for i in range(len(nums) - 2 * k + 1):
13+
if all(nums[j + 1] > nums[j] for j in range(i, i + k)) and all(nums[j + 1] > nums[j] for j in range(i + k, i + k * 2)):
14+
return True
15+
return False
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* @Author: LetMeFly
3+
* @Date: 2025-10-14 20:14:45
4+
* @LastEditors: LetMeFly.xyz
5+
* @LastEditTime: 2025-10-14 20:37:25
6+
*/
7+
impl Solution {
8+
fn is_ok(nums: &[i32], i: i32, k: i32) -> bool {
9+
for i in i..i+k-1 {
10+
if nums[i as usize] >= nums[(i + 1) as usize] {
11+
return false
12+
}
13+
}
14+
true
15+
}
16+
17+
pub fn has_increasing_subarrays(nums: Vec<i32>, k: i32) -> bool {
18+
for i in 0..nums.len()+1-(2*k) as usize {
19+
if Self::is_ok(&nums, i as i32, k) && Self::is_ok(&nums, i as i32 + k, k) {
20+
return true
21+
}
22+
}
23+
false
24+
}
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* @Author: LetMeFly
3+
* @Date: 2025-10-14 20:14:45
4+
* @LastEditors: LetMeFly.xyz
5+
* @LastEditTime: 2025-10-14 20:41:48
6+
*/
7+
// THIS IS RIGHT
8+
class Solution {
9+
private boolean isOk(List<Integer> nums, int i, int k) {
10+
while (--k > 0) {
11+
if (nums.get(i) >= nums.get(++i)) {
12+
return false;
13+
}
14+
}
15+
return true;
16+
}
17+
18+
public boolean hasIncreasingSubarrays(List<Integer> nums, int k) {
19+
for (int i = 0; i + 2 * k <= nums.size(); i++) { // List没有length方法
20+
if (isOk(nums, i, k) && isOk(nums, i + k, k)) {
21+
return true;
22+
}
23+
}
24+
return false;
25+
}
26+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'''
2+
Author: LetMeFly
3+
Date: 2025-10-14 20:14:45
4+
LastEditors: LetMeFly.xyz
5+
LastEditTime: 2025-10-14 20:24:03
6+
'''
7+
from typing import List
8+
9+
# THIS IS NOT RIGHT
10+
class Solution:
11+
def hasIncreasingSubarrays(self, nums: List[int], k: int) -> bool:
12+
for i in range(len(nums) - 2 * k + 1):
13+
if all(nums[j + 1] > nums[j] for j in range(i, i + k - 1)) and all(nums[j + 1] > nums[j] for j in range(i + k, i + k * 2 - 1)):
14+
return True
15+
return False

Codes/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
* @LastEditTime: 2025-10-11 18:47:55
66
*/
77
pub struct Solution;
8-
include!("3494-find-the-minimum-amount-of-time-to-brew-potions.rs"); // 这个fileName是会被脚本替换掉的
8+
include!("3349-adjacent-increasing-subarrays-detection-i.rs"); // 这个fileName是会被脚本替换掉的

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,6 +1022,7 @@
10221022
|3340.检查平衡字符串|简单|<a href="https://leetcode.cn/problems/check-balanced-string/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/03/14/LeetCode%203340.%E6%A3%80%E6%9F%A5%E5%B9%B3%E8%A1%A1%E5%AD%97%E7%AC%A6%E4%B8%B2/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/146249653" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/check-balanced-string/solutions/3610899/letmefly-3340jian-cha-ping-heng-zi-fu-ch-p8eo/" target="_blank">LeetCode题解</a>|
10231023
|3341.到达最后一个房间的最少时间I|中等|<a href="https://leetcode.cn/problems/find-minimum-time-to-reach-last-room-i/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/05/07/LeetCode%203341.%E5%88%B0%E8%BE%BE%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E6%88%BF%E9%97%B4%E7%9A%84%E6%9C%80%E5%B0%91%E6%97%B6%E9%97%B4I/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/147807022" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/find-minimum-time-to-reach-last-room-i/solutions/3672076/letmefly-3341dao-da-zui-hou-yi-ge-fang-j-3m6o/" target="_blank">LeetCode题解</a>|
10241024
|3342.到达最后一个房间的最少时间II|中等|<a href="https://leetcode.cn/problems/find-minimum-time-to-reach-last-room-ii/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/05/09/LeetCode%203342.%E5%88%B0%E8%BE%BE%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E6%88%BF%E9%97%B4%E7%9A%84%E6%9C%80%E5%B0%91%E6%97%B6%E9%97%B4II/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/147835524" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/find-minimum-time-to-reach-last-room-ii/solutions/3672695/letmefly-3342dao-da-zui-hou-yi-ge-fang-j-qrh6/" target="_blank">LeetCode题解</a>|
1025+
|3349.检测相邻递增子数组I|简单|<a href="https://leetcode.cn/problems/adjacent-increasing-subarrays-detection-i/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/10/14/LeetCode%203349.%E6%A3%80%E6%B5%8B%E7%9B%B8%E9%82%BB%E9%80%92%E5%A2%9E%E5%AD%90%E6%95%B0%E7%BB%84I/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/153273993" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/adjacent-increasing-subarrays-detection-i/solutions/3806061/letmefly-3349jian-ce-xiang-lin-di-zeng-z-9ppb/" target="_blank">LeetCode题解</a>|
10251026
|3355.零数组变换I|中等|<a href="https://leetcode.cn/problems/zero-array-transformation-i/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/05/21/LeetCode%203355.%E9%9B%B6%E6%95%B0%E7%BB%84%E5%8F%98%E6%8D%A2I/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/148126611" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/zero-array-transformation-i/solutions/3683113/letmefly-3355ling-shu-zu-bian-huan-ichai-njzr/" target="_blank">LeetCode题解</a>|
10261027
|3356.零数组变换II|中等|<a href="https://leetcode.cn/problems/zero-array-transformation-ii/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/05/22/LeetCode%203356.%E9%9B%B6%E6%95%B0%E7%BB%84%E5%8F%98%E6%8D%A2II/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/148151470" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/zero-array-transformation-ii/solutions/3683924/letmefly-3356ling-shu-zu-bian-huan-iier-zrey9/" target="_blank">LeetCode题解</a>|
10271028
|3362.零数组变换III|中等|<a href="https://leetcode.cn/problems/zero-array-transformation-iii/" target="_blank">题目地址</a>|<a href="https://blog.letmefly.xyz/2025/05/24/LeetCode%203362.%E9%9B%B6%E6%95%B0%E7%BB%84%E5%8F%98%E6%8D%A2III/" target="_blank">题解地址</a>|<a href="https://letmefly.blog.csdn.net/article/details/148192450" target="_blank">CSDN题解</a>|<a href="https://leetcode.cn/problems/zero-array-transformation-iii/solutions/3684942/letmefly-3362ling-shu-zu-bian-huan-iiita-qfve/" target="_blank">LeetCode题解</a>|

0 commit comments

Comments
 (0)