File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /**
2+ * Created by gouthamvidyapradhan on 01/04/2017.
3+ */
4+ public class ClimbingStairs
5+ {
6+ /**
7+ * Main method
8+ * @param args
9+ * @throws Exception
10+ */
11+ public static void main (String [] args ) throws Exception
12+ {
13+
14+ }
15+
16+ public int climbStairs (int n )
17+ {
18+ if (n == 0 || n == 1 ) return 1 ;
19+ int [] A = new int [n + 1 ];
20+ A [n ] = 1 ;
21+ A [n - 1 ] = 1 ;
22+ for (int i = n - 2 ; i >= 0 ; i --)
23+ A [i ] = A [i + 1 ] + A [i + 2 ];
24+ return A [0 ];
25+ }
26+
27+ }
Original file line number Diff line number Diff line change 1+ import java .util .PriorityQueue ;
2+ import java .util .Queue ;
3+
4+ /**
5+ * Created by gouthamvidyapradhan on 01/04/2017.
6+ * Accepted
7+ */
8+ public class DecodeWays
9+ {
10+ /**
11+ * Main method
12+ * @param args
13+ * @throws Exception
14+ */
15+ public static void main (String [] args ) throws Exception
16+ {
17+ System .out .println (new DecodeWays ().numDecodings ("3120" ));
18+ }
19+
20+ public int numDecodings (String s )
21+ {
22+ if (s == null || s .isEmpty ()) return 0 ;
23+ int [] dp = new int [s .length () + 2 ];
24+ dp [s .length ()] = 1 ;
25+ dp [s .length () + 1 ] = 1 ;
26+ for (int i = s .length () - 1 ; i >= 0 ; i --)
27+ {
28+ for (int j = i + 1 ; j < i + 3 ; j ++)
29+ {
30+ if (j <= s .length ())
31+ {
32+ String subStr = s .substring (i , j );
33+ if (!subStr .startsWith ("0" ))
34+ {
35+ int intVal = Integer .parseInt (subStr );
36+ if (intVal <= 26 )
37+ {
38+ dp [i ] += dp [j ];
39+ }
40+ }
41+ }
42+ }
43+ }
44+ return dp [0 ];
45+ }
46+ }
You can’t perform that action at this time.
0 commit comments