摘要: 33. 搜索旋转排序数组 题解: 二分找出翻转的位置 然后判断在target在前后哪个区间,二分找到target的位置 class Solution { public int search(int[] nums, int target) { int n = nums.length; if (n == 阅读全文
posted @ 2022-11-06 23:54 Eiffelzero 阅读(29) 评论(0) 推荐(0)
摘要: 32. 最长有效括号 题解: 合法子串中num('(') > num(')') 左右括号的数量相等 合法序列的前缀 num('(') >= num(')') 左括号的序列要大于右括号的序列 如果出现 num('(') < num(')') 则说明这个右括号开始是不合法的,可以从该右括号为起点,重新遍 阅读全文
posted @ 2022-11-06 21:52 Eiffelzero 阅读(38) 评论(0) 推荐(0)
摘要: 31. 下一个排列 题解: 从后往前找第一个降序的点的下标 a 从该点x出发 往后找 第一个比该点大的数,下标为 b 两个数交换,然后将 a 后面的数 翻转过来 public void nextPermutation(int[] nums) { int k = nums.length - 1; wh 阅读全文
posted @ 2022-11-06 15:38 Eiffelzero 阅读(25) 评论(0) 推荐(0)
摘要: 1678. 设计 Goal 解析器 class Solution { public String interpret(String command) { char[] ch = command.toCharArray(); int n = ch.length; StringBuilder sb = 阅读全文
posted @ 2022-11-06 01:11 Eiffelzero 阅读(34) 评论(0) 推荐(0)
摘要: 30. 串联所有单词的子串 题解: 题目可以转换为:把字符串s按word的长度划分为一堆集合后,然后这一堆集合中,找出完全由words集合组成的字符串。 滑动窗口,每次滑动按一个word的长度滑,当窗口内的元素完全等于words的元素时,此时的下标即为答案。 class Solution { pub 阅读全文
posted @ 2022-11-06 00:56 Eiffelzero 阅读(41) 评论(0) 推荐(0)