摘要:
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 思路:题目比较简单 程序: class Solution: def searchInsert(self, nums: List[int], t
阅读全文
posted @ 2020-04-18 15:41
桌子哥
阅读(1265)
推荐(0)
编辑
摘要:
题目: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 思路:二分法,使用一个指针来找到数字的开头和结尾位置 程序: class
阅读全文
posted @ 2020-04-18 15:01
桌子哥
阅读(2279)
推荐(0)
编辑
摘要:
题目: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必
阅读全文
posted @ 2020-04-18 14:04
桌子哥
阅读(455)
推荐(0)
编辑
摘要:
题目:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 思路:两个指针,一个向前,一个向后 程序: class Solution: def nextP
阅读全文
posted @ 2020-04-18 13:09
桌子哥
阅读(612)
推荐(0)
编辑
摘要:
题目: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 思路:较简单 程序: clas
阅读全文
posted @ 2020-04-18 10:46
桌子哥
阅读(579)
推荐(0)
编辑
摘要:
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 思路:原地删除,在原有数组上进行处理 程序: class Solution: def rem
阅读全文
posted @ 2020-04-18 10:37
桌子哥
阅读(596)
推荐(0)
编辑