2018年9月19日 星期三

[LeetCode] 228. Summary Ranges

轉自LeetCode

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 如下


沒有留言:

張貼留言