-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPaintFence.java
More file actions
35 lines (32 loc) · 799 Bytes
/
Copy pathPaintFence.java
File metadata and controls
35 lines (32 loc) · 799 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package leetcode;
/*
* There is a fence with n posts,
* each post can be painted with one of the k colors.
You have to paint all the posts
such that no more than two adjacent fence posts have the same color.
Return the total number of ways you can paint the fence.
Note: n and k are non-negative integers.
*/
public class PaintFence {
public int numWays(int n, int k) {
int first = k;
int second = k*k;
if(n == 0) return 0;
else if(n == 1) return first;
else if(n == 2) return second;
else{
int i=2;
while(i<n){
int temp = (k-1)*(first+second);
first = second;
second = temp;
i++;
}
return second;
}
}
public static void main(String[] args) {
PaintFence paintFence = new PaintFence();
System.out.println(paintFence.numWays(3, 2));
}
}