22、缺失数字

给定一个包含 0, 1, 2, ..., nn 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。

示例 1:

输入: [3,0,1]
输出: 2

示例 2:

输入: [9,6,4,2,3,5,7,0,1]
输出: 8
class Solution(object):
def missingNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if nums == [0]:
return 1
else:
nums.sort()
for i in range(len(nums)):
if nums[i] != i: ##因为数组是0-n,所以如果数字中的索引值不等于数字中的元素值,那这个索引值就是缺失的元素值。
return i
return nums[-1]+1 ## 如果for循环内返回的是空值,则最后一个值+1(如果数组缺失的是最后一个值,那么for循环取出来的值就会是空值)

23、第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。

假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。

你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。

示例:

给定 n = 5,并且 version = 4 是第一个错误的版本。

调用 isBadVersion(3) -> false
调用 isBadVersion(5) -> true
调用 isBadVersion(4) -> true 所以,4 是第一个错误的版本。

解答:使用了二分法解题,二分法排除

# The isBadVersion API is already defined for you.
# @param version, an integer
# @return a bool
# def isBadVersion(version): class Solution(object):
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
left = 1
right = n # type:int
while left <=right:
mid = (left + right) //2
if isBadVersion(mid):
right = mid -1
else:
left = mid +1
return (left)

24、移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。
  2. 尽量减少操作次数。

解答:

class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: None Do not return anything, modify nums in-place instead.
"""
# j = 0
# if len(nums) == 1:
# return nums
# else:
# for i in range(len(nums)):
# if 1nums[i] != 0:
# nums[j] = nums[i]
# nums[i] = 0
# j +=1
# # return nums
# j = 0
# if len(nums) == 1:
# return(nums)
# elif len(nums) ==2:
# if nums[0] == 0:
# nums[0],nums[1] =nums[1],nums[0]
# return(nums)
# else:
# return nums
# if len(nums)>2:
# for i in range(len(nums)):
# if nums[i] != 0:
# nums[j] = nums[i]
# nums[i] = 0
# j +=1
# return(nums)
nums.sort(key=bool, reverse=True)

最新文章

  1. session失效
  2. Spring 5 新特性:函数式Web框架
  3. luogu1328[NOIP2014 T1]生活大爆炸版石头剪刀布
  4. 关于多条id相同,只取其中一条记录的sql语句
  5. mongodb 安装、开启服务 和 php添加mongodb扩展
  6. 【转】github上值得关注的前端项目
  7. php以excel的形式将数据输出
  8. java8-concurrency-tutorial-thread-executor-examples
  9. Lucene.Net 2.3.1开发介绍 —— 四、搜索(三)
  10. opencv-python与c++ opencv中的一些区别和基础的知识
  11. 理解JAVA内存模型
  12. MVVM以及vue的双向绑定
  13. IBM MQ 使用指南
  14. java开发师笔试面试每日12题(1)
  15. 分布式文件系统HDFS,大数据存储实战(一)
  16. 用css写出下拉框(代码转自wq群)
  17. Tensorflow张量的形状表示方法
  18. 两个栈实现队列&amp;两个栈实现队列
  19. Python3:pyecharts数据可视化插件
  20. Request Response 跳转页面的理解

热门文章

  1. sql索引的作用
  2. 测试 | 代码覆盖测试工具 | Eclemma
  3. 缺少mscvr100.dll
  4. python之错题巩固
  5. CVE-2017-3248——WebLogic反序列化漏洞利用工具
  6. 在b站做计网实验 - 抓包/get/post
  7. jQuery val()方法及valHooks源码解读
  8. H5 之 Page Visibility
  9. PHP采集利器 Snoopy 试用心得
  10. FXP登录Linux报错