Skip to content

Commit 6f1e8da

Browse files
committed
second week
1 parent 4ab1750 commit 6f1e8da

File tree

5 files changed

+56
-1
lines changed

5 files changed

+56
-1
lines changed

Week_02/id_12/LeetCode_1_012.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public int[] twoSum(int[] nums, int target) {
3+
Map<Integer, Integer> map = new HashMap<>();
4+
int[] result = new int[2];
5+
int temp;
6+
for (int i = 0; i < nums.length; i++) {
7+
temp = nums[i];
8+
if (map.containsKey(temp)) {
9+
if (map.get(temp) != i) {
10+
result[0] = i;
11+
result[1] = map.get(temp);
12+
}
13+
} else {
14+
map.put(target - temp, i);
15+
}
16+
}
17+
return result;
18+
}
19+
}

Week_02/id_12/LeetCode_242_012.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution {
2+
public boolean isAnagram(String s, String t) {
3+
int[] alphabet = new int[26];
4+
for(char c : s.toCharArray()) alphabet[c - 'a']++;
5+
for(char c : t.toCharArray()) alphabet[c - 'a']--;
6+
for (int a : alphabet) if(a != 0) return false;
7+
return true;
8+
}
9+
}

Week_02/id_12/LeetCode_3_012.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int lengthOfLongestSubstring(String s) {
3+
Deque<Character> characterDeque = new LinkedList<>();
4+
int result = 0;
5+
for (int i = 0; i < s.length(); i++) {
6+
char c = s.charAt(i);
7+
if (characterDeque.contains(c)) {
8+
int len = characterDeque.size();
9+
if (len > result) {
10+
result = len;
11+
}
12+
while (c != characterDeque.peek()) {
13+
characterDeque.poll();
14+
}
15+
characterDeque.poll();
16+
}
17+
characterDeque.add(c);
18+
}
19+
int size = characterDeque.size();
20+
return size > result ? size : result;
21+
}
22+
}

Week_02/id_12/NOTE.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

Week_02/id_12/学习总结.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 学习笔记
2+
这周由于比较忙我只做了3题,但是3题我都认真做了,总结了一下经验:
3+
1.第1题,刚开始确实想不出来这里面存在一个映射关系,可以利用到hashmap,学到了,以后碰到类似的题目,一定到先考虑有没有一对一映射的可能性。
4+
2.第3题,刚开始我就想到了这里可以利用一个双端队列来实现,因为从头到尾遍历的过程中,头和尾都会出队列,之后我又对我的代码优化了几次,感觉受益匪浅,起码在双端队列这一块学到了很多。
5+
3.第242题,这一题我刚开始的想法是可以排序后比较,直到我看到了leetcode英文版上面的讨论区学到了这个方法,利用26个长度的数组来判断,真的比较巧妙,从这里我学到了,以后一定要注意题目当中的关键字,比如只包含小写字母,这就是一个很明显的暗示,可以立马联想到这个题目。
6+
算法训练是一个长期的过程,这周我只完成了3道题目,感觉很惭愧,下周我会挤出更多的时间来完成算法训练。

0 commit comments

Comments
 (0)