Skip to content

Commit 803789b

Browse files
committed
update
1 parent f3d78ad commit 803789b

27 files changed

+1438
-0
lines changed

.gitignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
*.java.hsp
2+
*.sonarj
3+
*.sw*
4+
.DS_Store
5+
.settings
6+
.springBeans
7+
bin
8+
build.sh
9+
integration-repo
10+
ivy-cache
11+
jxl.log
12+
jmx.log
13+
derby.log
14+
app.log
15+
spring-test/test-output/
16+
.gradle
17+
argfile*
18+
activemq-data/
19+
20+
classes/
21+
/build
22+
buildSrc/build
23+
/spring-*/build
24+
/spring-core/kotlin-coroutines/build
25+
/framework-bom/build
26+
/integration-tests/build
27+
/src/asciidoc/build
28+
target/
29+
30+
# Eclipse artifacts, including WTP generated manifests
31+
.classpath
32+
.project
33+
spring-*/src/main/java/META-INF/MANIFEST.MF
34+
35+
# IDEA artifacts and output dirs
36+
*.iml
37+
*.log
38+
*.ipr
39+
*.iws
40+
.idea
41+
out
42+
test-output
43+
atlassian-ide-plugin.xml
44+
.gradletasknamecache
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
//给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。
2+
//
3+
//
4+
// '.' 匹配任意单个字符
5+
// '*' 匹配零个或多个前面的那一个元素
6+
//
7+
//
8+
// 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。
9+
//
10+
// 示例 1:
11+
//
12+
//
13+
//输入:s = "aa", p = "a"
14+
//输出:false
15+
//解释:"a" 无法匹配 "aa" 整个字符串。
16+
//
17+
//
18+
// 示例 2:
19+
//
20+
//
21+
//输入:s = "aa", p = "a*"
22+
//输出:true
23+
//解释:因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。
24+
//
25+
//
26+
// 示例 3:
27+
//
28+
//
29+
//输入:s = "ab", p = ".*"
30+
//输出:true
31+
//解释:".*" 表示可匹配零个或多个('*')任意字符('.')。
32+
//
33+
//
34+
//
35+
//
36+
// 提示:
37+
//
38+
//
39+
// 1 <= s.length <= 20
40+
// 1 <= p.length <= 20
41+
// s 只包含从 a-z 的小写字母。
42+
// p 只包含从 a-z 的小写字母,以及字符 . 和 *。
43+
// 保证每次出现字符 * 时,前面都匹配到有效的字符
44+
//
45+
//
46+
// Related Topics 递归 字符串 动态规划 👍 3628 👎 0
47+
48+
49+
//leetcode submit region begin(Prohibit modification and deletion)
50+
class Solution {
51+
public boolean isMatch(String s, String p) {
52+
53+
}
54+
}
55+
//leetcode submit region end(Prohibit modification and deletion)
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
//给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。
2+
//
3+
//
4+
//
5+
// 每条从根节点到叶节点的路径都代表一个数字:
6+
//
7+
//
8+
//
9+
//
10+
// 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。
11+
//
12+
//
13+
// 计算从根节点到叶节点生成的 所有数字之和 。
14+
//
15+
// 叶节点 是指没有子节点的节点。
16+
//
17+
//
18+
//
19+
// 示例 1:
20+
//
21+
//
22+
//输入:root = [1,2,3]
23+
//输出:25
24+
//解释:
25+
//从根到叶子节点路径 1->2 代表数字 12
26+
//从根到叶子节点路径 1->3 代表数字 13
27+
//因此,数字总和 = 12 + 13 = 25
28+
//
29+
// 示例 2:
30+
//
31+
//
32+
//输入:root = [4,9,0,5,1]
33+
//输出:1026
34+
//解释:
35+
//从根到叶子节点路径 4->9->5 代表数字 495
36+
//从根到叶子节点路径 4->9->1 代表数字 491
37+
//从根到叶子节点路径 4->0 代表数字 40
38+
//因此,数字总和 = 495 + 491 + 40 = 1026
39+
//
40+
//
41+
//
42+
//
43+
// 提示:
44+
//
45+
//
46+
// 树中节点的数目在范围 [1, 1000] 内
47+
// 0 <= Node.val <= 9
48+
// 树的深度不超过 10
49+
//
50+
//
51+
// Related Topics 树 深度优先搜索 二叉树 👍 632 👎 0
52+
53+
54+
//leetcode submit region begin(Prohibit modification and deletion)
55+
/**
56+
* Definition for a binary tree node.
57+
* public class TreeNode {
58+
* int val;
59+
* TreeNode left;
60+
* TreeNode right;
61+
* TreeNode() {}
62+
* TreeNode(int val) { this.val = val; }
63+
* TreeNode(int val, TreeNode left, TreeNode right) {
64+
* this.val = val;
65+
* this.left = left;
66+
* this.right = right;
67+
* }
68+
* }
69+
*/
70+
class Solution {
71+
public int sumNumbers(TreeNode root) {
72+
73+
}
74+
}
75+
//leetcode submit region end(Prohibit modification and deletion)
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
//罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
2+
//
3+
//
4+
//字符 数值
5+
//I 1
6+
//V 5
7+
//X 10
8+
//L 50
9+
//C 100
10+
//D 500
11+
//M 1000
12+
//
13+
// 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V +
14+
//II 。
15+
//
16+
// 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5
17+
// 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
18+
//
19+
//
20+
// I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
21+
// X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
22+
// C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
23+
//
24+
//
25+
// 给你一个整数,将其转为罗马数字。
26+
//
27+
//
28+
//
29+
// 示例 1:
30+
//
31+
//
32+
//输入: num = 3
33+
//输出: "III"
34+
//
35+
// 示例 2:
36+
//
37+
//
38+
//输入: num = 4
39+
//输出: "IV"
40+
//
41+
// 示例 3:
42+
//
43+
//
44+
//输入: num = 9
45+
//输出: "IX"
46+
//
47+
// 示例 4:
48+
//
49+
//
50+
//输入: num = 58
51+
//输出: "LVIII"
52+
//解释: L = 50, V = 5, III = 3.
53+
//
54+
//
55+
// 示例 5:
56+
//
57+
//
58+
//输入: num = 1994
59+
//输出: "MCMXCIV"
60+
//解释: M = 1000, CM = 900, XC = 90, IV = 4.
61+
//
62+
//
63+
//
64+
// 提示:
65+
//
66+
//
67+
// 1 <= num <= 3999
68+
//
69+
//
70+
// Related Topics 哈希表 数学 字符串 👍 1127 👎 0
71+
72+
73+
//leetcode submit region begin(Prohibit modification and deletion)
74+
class Solution {
75+
public String intToRoman(int num) {
76+
77+
}
78+
}
79+
//leetcode submit region end(Prohibit modification and deletion)
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
//给你两个版本号 version1 和 version2 ,请你比较它们。
2+
//
3+
// 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编
4+
//号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。
5+
//
6+
// 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就是说,修订号 1 和修订号 001 相等 。
7+
//如果版本号没有指定某个下标处的修订号,则该修订号视为 0 。例如,版本 1.0 小于版本 1.1 ,因为它们下标为 0 的修订号相同,而下标为 1 的修订号分别
8+
//为 0 和 1 ,0 < 1 。
9+
//
10+
// 返回规则如下:
11+
//
12+
//
13+
// 如果 version1 > version2 返回 1,
14+
// 如果 version1 < version2 返回 -1,
15+
// 除此之外返回 0。
16+
//
17+
//
18+
//
19+
//
20+
// 示例 1:
21+
//
22+
//
23+
//输入:version1 = "1.01", version2 = "1.001"
24+
//输出:0
25+
//解释:忽略前导零,"01" 和 "001" 都表示相同的整数 "1"
26+
//
27+
//
28+
// 示例 2:
29+
//
30+
//
31+
//输入:version1 = "1.0", version2 = "1.0.0"
32+
//输出:0
33+
//解释:version1 没有指定下标为 2 的修订号,即视为 "0"
34+
//
35+
//
36+
// 示例 3:
37+
//
38+
//
39+
//输入:version1 = "0.1", version2 = "1.1"
40+
//输出:-1
41+
//解释:version1 中下标为 0 的修订号是 "0",version2 中下标为 0 的修订号是 "1" 。0 < 1,所以 version1 <
42+
//version2
43+
//
44+
//
45+
//
46+
//
47+
// 提示:
48+
//
49+
//
50+
// 1 <= version1.length, version2.length <= 500
51+
// version1 和 version2 仅包含数字和 '.'
52+
// version1 和 version2 都是 有效版本号
53+
// version1 和 version2 的所有修订号都可以存储在 32 位整数 中
54+
//
55+
//
56+
// Related Topics 双指针 字符串 👍 342 👎 0
57+
58+
59+
//leetcode submit region begin(Prohibit modification and deletion)
60+
class Solution {
61+
public int compareVersion(String version1, String version2) {
62+
63+
}
64+
}
65+
//leetcode submit region end(Prohibit modification and deletion)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位
2+
//。
3+
//
4+
// 返回 滑动窗口中的最大值 。
5+
//
6+
//
7+
//
8+
// 示例 1:
9+
//
10+
//
11+
//输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
12+
//输出:[3,3,5,5,6,7]
13+
//解释:
14+
//滑动窗口的位置 最大值
15+
//--------------- -----
16+
//[1 3 -1] -3 5 3 6 7 3
17+
// 1 [3 -1 -3] 5 3 6 7 3
18+
// 1 3 [-1 -3 5] 3 6 7 5
19+
// 1 3 -1 [-3 5 3] 6 7 5
20+
// 1 3 -1 -3 [5 3 6] 7 6
21+
// 1 3 -1 -3 5 [3 6 7] 7
22+
//
23+
//
24+
// 示例 2:
25+
//
26+
//
27+
//输入:nums = [1], k = 1
28+
//输出:[1]
29+
//
30+
//
31+
//
32+
//
33+
// 提示:
34+
//
35+
//
36+
// 1 <= nums.length <= 10⁵
37+
// -10⁴ <= nums[i] <= 10⁴
38+
// 1 <= k <= nums.length
39+
//
40+
//
41+
// Related Topics 队列 数组 滑动窗口 单调队列 堆(优先队列) 👍 2076 👎 0
42+
43+
44+
//leetcode submit region begin(Prohibit modification and deletion)
45+
class Solution {
46+
public int[] maxSlidingWindow(int[] nums, int k) {
47+
48+
}
49+
}
50+
//leetcode submit region end(Prohibit modification and deletion)

0 commit comments

Comments
 (0)