Minimum Lines to Represent a Line Chart LeetCode solution in Java
1class Solution {2public int minimumLines(int[][] stockPrices) {3if (stockPrices.length == 1) return 0;4int count = 1;5Arrays.sort(stockPrices, (o1, o2) -> o1[0] - o2[0]);6for (int i = 1; i < stockPrices.length - 1; i++) {7int x1 = stockPrices[i - 1][0];8int y1 = stockPrices[i - 1][1];9int x2 = stockPrices[i][0];10int y2 = stockPrices[i][1];11int x3 = stockPrices[i + 1][0];12int y3 = stockPrices[i + 1][1];13if (((x3 - x2) * (y2 - y1)) == ((y3 - y2) * (x2 - x1))) continue;1415count++;16}17return count;18}19}