判断字符串中存在异位词 LCR 014. 字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的某个变位词。 换句话说,第一个字符串的排列之一是第二个字符串的 子串 。 示例 1: 123输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba"). 示例 2: 1 2023-05-23 算法 > 滑动窗口 #算法
串联所有单词的子串 30. 串联所有单词的子串给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words = ["ab","cd","ef"], 那么 "abcdef", "abef 2023-05-22 算法 > 滑动窗口 #算法
最小覆盖子串 76. 最小覆盖子串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们保证它是唯一的答案。 示例 1: 123输入:s = "ADOBECO 2023-05-22 算法 > 滑动窗口 #算法
长度最小的子数组 209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 123输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 2023-05-21 算法 > 滑动窗口 #算法
无重复字符的最长子串 3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 123输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 123输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 " 2023-05-21 算法 > 滑动窗口 #算法
划分K个相等的子集 698. 划分为k个相等的子集给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。示例 2: 输入: nums = [1 2023-05-15 算法 > 回溯 #算法
火柴拼正方形 473. 火柴拼正方形 - 力扣(LeetCode)你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。你要用 所有的火柴棍 拼成一个正方形。你 不能折断 任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须 使用一次 。 如果你能使这个正方形,则返回 true ,否则返回 false 。 示例 1: 输入: matchsticks 2023-05-15 算法 > 回溯 #算法
迭代器 Iterator迭代器在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代 2023-05-14 Java > Java集合 #Java
比较器 Comparable和Comparator的区别ComparableComparable 是排序接口,若一个类实现了Comparable接口,就意味着“该类支持排序”,该接口只有一个方法compareTo 强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法。只能在类中实现compareTo()一次,不能经常修改类的代码实现自己想要的 2023-05-13 Java > Java集合 #Java
Java基础 Java 语言有哪些特点? 简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持); 可靠性(具备异常处理和自动内存管理机制); 安全性(Java 语言本身的设计就提供了多重安全防护机制如访问权限修饰符、限制程 2023-05-13 Java > Java基础 #Java