在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ On a table are We flip any number of cards, and after we choose one card. If the number What is the smallest number that is good? If no number is good, output Here, A flip swaps the front and back numbers, so the value on the front is now on the back and vice versa. Example: Input: fronts = [1,2,4,4,7], backs = [1,3,4,1,3] Output: Note:
在桌子上有 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 哪个数是这些想要的数字中最小的数(找到这些数中的最小值)呢?如果没有一个数字符合要求的,输出 0。 其中, 如果我们通过翻转卡片来交换正面与背面上的数,那么当初在正面的数就变成背面的数,背面的数就变成正面的数。 示例: 输入:fronts = [1,2,4,4,7], backs = [1,3,4,1,3] 输出: 提示:
Runtime: 92 ms
Memory Usage: 19.6 MB
1 class Solution { 2 func flipgame(_ fronts: [Int], _ backs: [Int]) -> Int { 3 var res:Int = Int.max 4 var n:Int = fronts.count 5 var same:Set<Int> = Set<Int>() 6 for i in 0..<n 7 { 8 if fronts[i] == backs[i] 9 { 10 same.insert(fronts[i]) 11 } 12 } 13 for front in fronts 14 { 15 if !same.contains(front) 16 { 17 res = min(res, front) 18 } 19 } 20 for back in backs 21 { 22 if !same.contains(back) 23 { 24 res = min(res, back) 25 } 26 } 27 return res == Int.max ? 0 : res 28 } 29 } 92ms 1 class Solution { 2 func flipgame(_ fronts: [Int], _ backs: [Int]) -> Int { 3 var sameSets = Set<Int>() 4 for i in fronts.indices { 5 if fronts[i] == backs[i] { 6 sameSets.insert(fronts[i]) 7 } 8 } 9 10 var ans = Int.max 11 let arr = fronts+backs 12 for x in arr { 13 if !sameSets.contains(x) { 14 ans = min(ans, x) 15 } 16 } 17 return ans == Int.max ? 0 : ans 18 } 19 }
|
请发表评论