leetcode (Largest Time for Given Digits)
阿新 • • 發佈:2019-01-06
Title: Largest Time for Given Digits 949
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/largest-time-for-given-digits/
1. 見程式碼註釋
時間複雜度:O(n^3),三層for迴圈。
空間複雜度:O(1),沒有申請額外空間。
/** * 3層迴圈,注意每一個數不相等,同時最後一個數就是經過3層迴圈後剩餘的 * @param A * @return */ public static String largestTimeFromDigits(int[] A) { int res = -1; for (int i = 0; i < A.length; i++) { for (int j = 0; j < A.length; j++) { if (i != j) { for (int k = 0; k < A.length; k++) { if (k != i && k != j) { int l = 6 - i - j - k; int h = 10 * A[i] + A[j]; int m = 10 * A[k] + A[l]; if (h < 24 && m < 60) { res = Math.max(res, h * 60 + m); } } } } } } return res >= 0 ? String.format("%02d:%02d", res / 60, res % 60) : ""; }