File tree Expand file tree Collapse file tree 5 files changed +75
-6
lines changed Expand file tree Collapse file tree 5 files changed +75
-6
lines changed Original file line number Diff line number Diff line change
1
+ package leetcode ._146_ ;
2
+
3
+ import java .util .HashMap ;
4
+ import java .util .LinkedHashMap ;
5
+ import java .util .Map ;
6
+
7
+ /**
8
+ * Created by zhangbo54 on 2019-07-23.
9
+ */
10
+ class LRUCache2 <K , V > extends LinkedHashMap <K , V > {
11
+
12
+ private int maxSize ;
13
+
14
+ public LRUCache2 (int maxSize ) {
15
+ // 第三个参数表示是否按照访问顺序组织链表
16
+ super (maxSize , 0.75f , true );
17
+ this .maxSize = maxSize ;
18
+ }
19
+
20
+ @ Override
21
+ protected boolean removeEldestEntry (Map .Entry <K , V > eldest ) {
22
+ return this .size () > maxSize ;
23
+ }
24
+ }
25
+
26
+ /**
27
+ * Your LRUCache object will be instantiated and called as such:
28
+ * LRUCache obj = new LRUCache(capacity);
29
+ * int param_1 = obj.get(key);
30
+ * obj.put(key,value);
31
+ */
Original file line number Diff line number Diff line change 6
6
public class Main {
7
7
public static void main (String [] args ) {
8
8
Solution solution = new Solution ();
9
- System .out .println ( solution .climbStairs (0 ));
10
- System .out .println ( solution .climbStairs (2 ));
11
- System .out .println ( solution .climbStairs (3 ));
12
- System .out .println ( solution .climbStairs (1 ));
13
- System .out .println ( solution .climbStairs (111 ));
9
+ long l = System .currentTimeMillis ();
10
+ // System.out.println( solution.climbStairs(1));
11
+ System .out .println (solution .climbStairs (2 ));
12
+ System .out .println (solution .climbStairs (3 ));
13
+ System .out .println (solution .climbStairs (1 ));
14
+ System .out .println ("-----------------" );
15
+ System .out .println (solution .climbStairs (40 ));
16
+ System .out .println (System .currentTimeMillis () - l );
14
17
}
15
18
}
16
19
20
+ // 1
21
+ // 2
22
+ // 3
23
+ // 1
24
+ // 165580141
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ class Solution {
4
4
public int climbStairs (int n ) {
5
5
int [] dp = new int [n + 1 ];
6
6
return this .climbStairs (dp , n );
7
-
8
7
}
9
8
10
9
private int climbStairs (int [] dp , int n ) {
Original file line number Diff line number Diff line change
1
+ package leetcode ._70_ ;
2
+
3
+ /**
4
+ * Created by jacob on 2019-08-20.
5
+ */
6
+ public class Solution1 {
7
+ public int climbStairs (int n ) {
8
+ if (n <= 2 ) {
9
+ return n ;
10
+ }
11
+ return climbStairs (n - 1 ) + climbStairs (n - 2 );
12
+ }
13
+ }
Original file line number Diff line number Diff line change
1
+ package leetcode ._70_ ;
2
+
3
+ /**
4
+ * Created by jacob on 2019-08-20.
5
+ */
6
+ public class Solution2 {
7
+ public int climbStairs (int n ) {
8
+ int [] dp = new int [n + 1 ];
9
+ for (int i = 1 ; i <= n ; i ++) {
10
+ if (i <= 2 ) {
11
+ dp [i ] = i ;
12
+ } else {
13
+ dp [i ] = dp [i - 1 ] + dp [i - 2 ];
14
+ }
15
+ }
16
+ return dp [n ];
17
+ }
18
+ }
You can’t perform that action at this time.
0 commit comments