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