不太会做
ruo砚
以前的代码还真的是忘得一干二净
展开
-
【LeetCode 60】排列序列
LeetCode 60原创 2022-01-13 15:08:19 · 110 阅读 · 0 评论 -
【LeetCode 56】合并区间
LeetCode 56原创 2022-01-04 20:30:14 · 230 阅读 · 0 评论 -
【LeetCode 45】跳跃游戏 II
public static int jump2(int[] nums) { int end = 0; int maxPosition = 0; int steps = 0; for(int i = 0; i < nums.length - 1; i++){ //找能跳的最远的 maxPosition = Math.max(maxPosition, nums[i] + i); ...原创 2021-12-30 15:55:08 · 1691 阅读 · 0 评论 -
【LeetCode 39】组合总和
参考题解 public List<List<Integer>> combinationSum(int[] candidates, int target) { int len = candidates.length; List<List<Integer>> res = new ArrayList<>(); if (len == 0) { return res;原创 2021-12-22 10:01:34 · 54 阅读 · 0 评论 -
【LeetCode 36】有效的数独
使用哈希表,将读取得到的键值转换为数组下标,数组中存放的数据为对应的个数。 public boolean isValidSudoku(char[][] board) { int[][] rows = new int[9][9]; int[][] columns = new int[9][9]; int[][][] subboxes = new int[3][3][9]; for (int i = 0; i < 9; i++) {原创 2021-12-20 20:07:43 · 100 阅读 · 1 评论 -
【LeetCode 33 34】排序数组
思路 需要算法复杂度为O(logn),则应该使用二分法。【注意1】二分法的初始值l和h设定以及应该用while(l<h)还是while(l<=h): 如果使用[l,h),则应该使用while(l<h),如果使用[l,h],则应该使用while(l<=h)【注意2】在有序数组中逐步查询的边界。【LeetCode 33】// 第一种边界条件 public static int search(int[] nums, int target) { int l原创 2021-12-20 17:19:00 · 56 阅读 · 0 评论 -
【LeetCode 32】最长有效括号
参考题解中给出的三种思路,编写代码。思路1:栈 有括号出现就比较容易想到使用栈,但是对我来说,难点在于如何判断从何处开始一个新的括号序列,读入的右括号多于左括号时,就应开始新的计数;但是当左括号多于右括号时,可能是正常序列也可能是有错误的序列。 因为题目没有要求输出字符串序列,而仅仅要求给出长度,因此存入stack的是字符串的下标,而不是字符本身。 public static int longestValidParentheses(String s) { int ret = 0;原创 2021-12-17 15:35:01 · 182 阅读 · 0 评论