本文主要是介绍【leetcode】点名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近考研正好复习到数据结构,趁着这个机会再刷点题,写了没时间更上来,看有特别思路的更一下
某班级 n 位同学的学号为 0 ~ n-1。点名结果记录于升序数组 records。假定仅有一位同学缺席,请返回他的学号。
示例 1:
输入: records = [0,1,2,3,5]
输出: 4
示例 2:
输入: records = [0, 1, 2, 3, 4, 5, 6, 8]
输出: 7
提示:
1 <= records.length <= 10000
二分法
这个方法基本在好多地方都可以用,包括想不到的地方。。。。。。。。
class Solution(object):def takeAttendance(self, records):""":type records: List[int]:rtype: int"""i,j = 0,len(records)-1while i <= j:mid = (i + j) // 2if records[mid] == mid:i = mid +1else :j = mid -1return i
这篇关于【leetcode】点名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!