auto commit
This commit is contained in:
@ -3239,10 +3239,16 @@ public int[] twoSum(int[] nums, int target) {
|
|||||||
|
|
||||||
**最长和谐序列**
|
**最长和谐序列**
|
||||||
|
|
||||||
和谐序列中最大数和最小数只差正好为 1
|
|
||||||
|
|
||||||
[Leetcode : 594. Longest Harmonious Subsequence (Easy)](https://leetcode.com/problems/longest-harmonious-subsequence/description/)
|
[Leetcode : 594. Longest Harmonious Subsequence (Easy)](https://leetcode.com/problems/longest-harmonious-subsequence/description/)
|
||||||
|
|
||||||
|
```html
|
||||||
|
Input: [1,3,2,2,5,2,3,7]
|
||||||
|
Output: 5
|
||||||
|
Explanation: The longest harmonious subsequence is [3,2,2,2,3].
|
||||||
|
```
|
||||||
|
|
||||||
|
和谐序列中最大数和最小数只差正好为 1。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
public int findLHS(int[] nums) {
|
public int findLHS(int[] nums) {
|
||||||
Map<Long, Integer> map = new HashMap<>();
|
Map<Long, Integer> map = new HashMap<>();
|
||||||
@ -3261,13 +3267,16 @@ public int findLHS(int[] nums) {
|
|||||||
|
|
||||||
## 字符串
|
## 字符串
|
||||||
|
|
||||||
**两个字符串的包含的字符是否完全相同**
|
**两个字符串包含的字符是否完全相同**
|
||||||
|
|
||||||
[Leetcode : 242. Valid Anagram (Easy)](https://leetcode.com/problems/valid-anagram/description/)
|
[Leetcode : 242. Valid Anagram (Easy)](https://leetcode.com/problems/valid-anagram/description/)
|
||||||
|
|
||||||
字符串只包含小写字符,总共有 26 个小写字符。可以用 Hash Table 来映射字符与出现次数,因为键值范围很小,因此可以用数组来进行映射。
|
```html
|
||||||
|
s = "anagram", t = "nagaram", return true.
|
||||||
|
s = "rat", t = "car", return false.
|
||||||
|
```
|
||||||
|
|
||||||
使用长度为 26 的整型数组对字符串出现的字符进行统计,比较两个字符串出现的字符数量是否相同。
|
字符串只包含小写字符,总共有 26 个小写字符。可以用 Hash Table 来映射字符与出现次数,因为键值范围很小,因此可以使用长度为 26 的整型数组对字符串出现的字符进行统计,比较两个字符串出现的字符数量是否相同。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
public boolean isAnagram(String s, String t) {
|
public boolean isAnagram(String s, String t) {
|
||||||
@ -3283,7 +3292,11 @@ public boolean isAnagram(String s, String t) {
|
|||||||
|
|
||||||
[Leetcode : 205. Isomorphic Strings (Easy)](https://leetcode.com/problems/isomorphic-strings/description/)
|
[Leetcode : 205. Isomorphic Strings (Easy)](https://leetcode.com/problems/isomorphic-strings/description/)
|
||||||
|
|
||||||
例如 "egg" 和 "add" 就属于同构字符串。
|
```html
|
||||||
|
Given "egg", "add", return true.
|
||||||
|
Given "foo", "bar", return false.
|
||||||
|
Given "paper", "title", return true.
|
||||||
|
```
|
||||||
|
|
||||||
记录一个字符上次出现的位置,如果两个字符串中某个字符上次出现的位置一样,那么就属于同构。
|
记录一个字符上次出现的位置,如果两个字符串中某个字符上次出现的位置一样,那么就属于同构。
|
||||||
|
|
||||||
@ -3304,7 +3317,13 @@ public boolean isIsomorphic(String s, String t) {
|
|||||||
|
|
||||||
**计算一组字符集合可以组成的回文字符串的最大长度**
|
**计算一组字符集合可以组成的回文字符串的最大长度**
|
||||||
|
|
||||||
[Leetcode : 409. Longest Palindrome](https://leetcode.com/problems/longest-palindrome/description/)
|
[Leetcode : 409. Longest Palindrome (Easy)](https://leetcode.com/problems/longest-palindrome/description/)
|
||||||
|
|
||||||
|
```html
|
||||||
|
Input : "abccccdd"
|
||||||
|
Output : 7
|
||||||
|
Explanation : One longest palindrome that can be built is "dccaccd", whose length is 7.
|
||||||
|
```
|
||||||
|
|
||||||
使用长度为 128 的整型数组来统计每个字符出现的个数,每个字符有偶数个可以用来构成回文字符串。因为回文字符串最中间的那个字符可以单独出现,所以如果有单独的字符就把它放到最中间。
|
使用长度为 128 的整型数组来统计每个字符出现的个数,每个字符有偶数个可以用来构成回文字符串。因为回文字符串最中间的那个字符可以单独出现,所以如果有单独的字符就把它放到最中间。
|
||||||
|
|
||||||
@ -3345,6 +3364,12 @@ public boolean isPalindrome(int x) {
|
|||||||
|
|
||||||
[Leetcode : 647. Palindromic Substrings (Medium)](https://leetcode.com/problems/palindromic-substrings/description/)
|
[Leetcode : 647. Palindromic Substrings (Medium)](https://leetcode.com/problems/palindromic-substrings/description/)
|
||||||
|
|
||||||
|
```html
|
||||||
|
Input: "aaa"
|
||||||
|
Output: 6
|
||||||
|
Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa".
|
||||||
|
```
|
||||||
|
|
||||||
解决方案是从字符串的某一位开始,尝试着去扩展子字符串。
|
解决方案是从字符串的某一位开始,尝试着去扩展子字符串。
|
||||||
|
|
||||||
```java
|
```java
|
||||||
|
Reference in New Issue
Block a user