Guest User

Untitled

a guest
Nov 18th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. public class RGBStreet {
  2. private const int MAX_INT = 1005 * 25;
  3.  
  4. private int[] ConvertToArr(string house) {
  5. var arr = new int[3];
  6. var strArr = house.Split(' ');
  7. for (int i=0;i<strArr.Length;i++) {
  8. arr[i] = int.Parse(strArr[i]);
  9. }
  10. return arr;
  11. }
  12.  
  13. private int Min(int a, int b) {
  14. return a < b ? a : b;
  15. }
  16.  
  17. public int estimateCost(string[] houses) {
  18. var dp = new int[houses.Length][];
  19. for (int i=0;i<houses.Length;i++) {
  20. dp[i] = new int[3];
  21. for (int j=0;j<dp[i].Length;j++) {
  22. dp[i][j] = MAX_INT;
  23. }
  24. }
  25.  
  26. int[] values = ConvertToArr(houses[0]);
  27. dp[0][0] = values[0];
  28. dp[0][1] = values[1];
  29. dp[0][2] = values[2];
  30. for (int i=1;i<houses.Length;i++) {
  31. values = ConvertToArr(houses[i]);
  32. for (int k=0;k<3;k++) {
  33. dp[i][k] = Min(dp[i-1][(k-1+3)%3], dp[i-1][(k+1+3)%3]) + values[k];
  34. }
  35. }
  36. return Min(dp[houses.Length-1][0], Min(dp[houses.Length-1][1], dp[houses.Length-1][2]));
  37. }
  38. }
Add Comment
Please, Sign In to add comment