[Swift]LeetCode1051.高度检查器 | Height Checker
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10925085.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Students are asked to stand in non-decreasing order of heights for an annual photo.
Return the minimum number of students not standing in the right positions. (This is the number of students that must move in order for all students to be standing in non-decreasing order of height.)
Example 1:
Input: [1,1,4,2,1,3] Output: 3 Explanation: Students with heights 4, 3 and the last 1 are not standing in the right positions.
Note:
1 <= heights.length <= 100
1 <= heights[i] <= 100
学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。
请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。
示例:
输入:[1,1,4,2,1,3] 输出:3 解释: 高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。
提示:
1 <= heights.length <= 100
1 <= heights[i] <= 100
Runtime: 16 ms
Memory Usage: 21 MB
1 class Solution { 2 func heightChecker(_ heights: [Int]) -> Int { 3 let arr:[Int] = heights.sorted(by:<) 4 var ret:Int = 0 5 for i in 0..<arr.count 6 { 7 if arr[i] != heights[i] 8 { 9 ret += 1 10 } 11 } 12 return ret 13 } 14 }
16ms
1 class Solution { 2 func heightChecker(_ heights: [Int]) -> Int { 3 let sortHeights = heights.sorted() 4 var ans = 0 5 for i in heights.indices { 6 if heights[i] != sortHeights[i] { 7 ans += 1 8 } 9 } 10 return ans 11 } 12 }
20ms
1 class Solution { 2 func heightChecker(_ heights: [Int]) -> Int { 3 let sorted = heights.sorted() 4 var ans = 0 5 for i in 0..<heights.count where heights[i] != sorted[i] { 6 ans += 1 7 } 8 return ans 9 } 10 }