摘要: 题意 给定一个数字,表示括号"()"的对数,输出有效的匹配括号组合; 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 难点 如果可以构建出所有括号的组合,通过判断是否是左右括号的匹配,就可以输出所有正确的序列; 最开始感觉的难点在 阅读全文
posted @ 2021-10-29 16:07 精神小土豆 阅读(40) 评论(0) 推荐(0)
摘要: 题意 判断一个9*9的数独是否有效,必须满足以下3个条件: 1、数字1-9在每一行只能出现一次 2、数字1-9在每一列只能出现一次 3、数字1-9在每一个3*3宫格内只能出现一次 解法 暴力解法: 首先逐行判断,其次逐列判断,再其次逐个3*3宫格内判断: class Solution { //暴力解 阅读全文
posted @ 2021-10-27 12:52 精神小土豆 阅读(42) 评论(0) 推荐(0)
摘要: 题意转换 给你一个二元数组 nums,和一个整数 goal,请你统计并返回有多少个和为 goal 的非空子数组。子数组是数组的一段连续部分。 因为这个二元数组是0,1组成,因此开始写的滑动窗口代码对下一个是0的元素情况考虑不到,后来看了官方的解法,哈希表。 【思路】 我们可以计算一个前缀和sum,每 阅读全文
posted @ 2021-10-22 19:08 精神小土豆 阅读(59) 评论(0) 推荐(0)
摘要: 题目描述 找出字符串s1是不是s2中某一个子序列全排列中的一种; 滑动窗口 1、s1的全排列之后长度不变; 2、然后判断两个字符串中的字符个数是否相等,如果相等既就是全排列相等; 3、定义一个长度为n的固定窗口,并用两个长度26的int[]记录个数,第一个数组记录的是字符串s1中的每个字符的个数,第 阅读全文
posted @ 2021-10-13 14:40 精神小土豆 阅读(37) 评论(0) 推荐(0)
摘要: 题目描述 题目大概意思是:给一个仅由大写字母组成的字符串,最多可替换k次任意位置上的字符为其他字符,执行完这个操作,找出来包含重复字母的最长子串长度; 滑动窗口 暴力解法: 枚举该字符串里面的所有子串,如果所有字符都相同就考虑更长的子串,否则找出出现次数最多的,替换掉除出现次数最多的之外的字符; 暴 阅读全文
posted @ 2021-10-12 20:06 精神小土豆 阅读(39) 评论(0) 推荐(0)
摘要: 自己的写法 //自己的做法:偏暴力解法,每次只挪动一下左指针或者右指针,在挪动右指针的时候记录下当前最大值 public static int lengthOfLongestSubstring(String s) { if (s.length() < 2) return s.length(); in 阅读全文
posted @ 2021-10-09 19:51 精神小土豆 阅读(24) 评论(0) 推荐(0)
摘要: 给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次,找出只出现一次的那两个元素。时间复杂度要求为O(n),空间为O(1); 自己的做法 public static int[] singleNumber(int[] nums) { HashSet<Integer> set 阅读全文
posted @ 2021-10-09 19:49 精神小土豆 阅读(24) 评论(0) 推荐(0)