diff --git a/src/main/java/algorithms/curated170/medium/CampusBikes2.java b/src/main/java/algorithms/curated170/medium/CampusBikes2.java new file mode 100644 index 00000000..91f05e8b --- /dev/null +++ b/src/main/java/algorithms/curated170/medium/CampusBikes2.java @@ -0,0 +1,54 @@ +package algorithms.curated170.medium; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import algorithms.util.leetcode.LCArrayConverter; + +public class CampusBikes2 { + + private int dist(int wPos, int bPos) { + return Math.abs(workers[wPos][0] - bikes[bPos][0]) + Math.abs(workers[wPos][1] - bikes[bPos][1]); + } + + int[][] workers, bikes; + int[] dp; + + public int assignBikes(int[][] workers, int[][] bikes) { + dp = new int[1<> list = new ArrayList<>(); + + List currAr = new ArrayList<>(); + char prev = '#'; + int num = 0; + boolean inNum = false; + for (char c : arr.toCharArray()) { + if (!Character.isDigit(c) && inNum) { + currAr.add(num); + num = 0; + inNum = false; + } + if (c == '[') { + currAr = new ArrayList(); + } else if (Character.isDigit(c)) { + num = num * 10 + Character.getNumericValue(c); + inNum = true; + } else if (c == ']' && prev != c) { + list.add(currAr); + } + prev = c; + } + System.out.println(list); + Integer[][] arrayBase = list.stream().map(l -> l.stream().toArray(Integer[]::new)) + .toArray(Integer[][]::new); + int[][] ret = new int[arrayBase.length][arrayBase[0].length]; + for (int i = 0; i < arrayBase.length; i++) { + for (int j = 0; j < arrayBase[0].length; j++) { + ret[i][j] = arrayBase[i][j]; + } + } + return ret; + } +} \ No newline at end of file