Given a sorted integer array without duplicates, return the summary of its ranges.
Example 1:
Input: [0,1,2,4,5,7] Output: ["0->2","4->5","7"] Explanation: 0,1,2 form a continuous range; 4,5 form a continuous range.
Example 2:
Input: [0,2,3,4,6,8,9] Output: ["0","2->4","6","8->9"] Explanation: 2,3,4 form a continuous range; 8,9 form a continuous range.<Solution>
想法如下
- 因為是 sorted array,且沒有 duplicates,那麼如果是連續數字,則 index 的差值,就會等於 value 的差值
- 過程中,使用 binary search 的方式,來找到不是連續的數字
code 如下
Java(參考解法)
沒有留言:
張貼留言