[Swift]LeetCode1024. 视频拼接 | Video Stitching
You are given a series of video clips from a sporting event that lasted? Each video clip? Return the minimum number of clips needed so that we can cut the clips into segments that cover the entire sporting event ( Example 1: Input: clips = [[0,2],[4,6],[8,10],[1,9],5],[5,9]],T = 10 Output: 3 Explanation: We take the clips [0,9]; a total of 3 clips. Then,we can reconstruct the sporting event as follows: We cut [1,9] into segments [1,2] + [2,8] + [8,9]. Now we have segments [0,10] which cover the sporting event [0,10].
Example 2: Input: clips = [[0,1],2]],T = 5 Output: -1 Explanation: We can‘t cover [0,5] with only [0,1] and [0,2].
Example 3: Input: clips = [[0,[6,8],[0,4],3],7],[2,[3,T = 9 Output: 3 Explanation: We can take clips [0,and [6,9].
Example 4: Input: clips = [[0,8]],T = 5 Output: 2 Explanation: Notice you can have extra video after the event ends.
Note:
Runtime:?16 ms
Memory Usage:?18.8 MB
1 class Solution { 2 func videoStitching(_ clips: [[Int]],_ T: Int) -> Int { 3 var last:Int = 0 4 var cnt:Int = 0 5 while(true) 6 { 7 if last >= T {break} 8 var found:Bool = false 9 var mx:Int = -1 10 for i in 0..<clips.count 11 { 12 if clips[i][0] <= last 13 { 14 mx = max(mx,clips[i][1]) 15 } 16 } 17 if mx > last 18 { 19 last = mx 20 cnt += 1 21 found = true 22 } 23 if !found {break} 24 } 25 if last >= T {return cnt} 26 return -1 27 } 28 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |