题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2代码: 1 def binarySearch(nums, target): 2 ' ...
分类:
其他好文 时间:
2020-06-22 01:14:17
阅读次数:
44
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3]输出: 2示例 2: 输入: [0,1,2,3,4,5,6,7,9]输出: 8 链接:https: ...
分类:
其他好文 时间:
2020-06-21 16:19:47
阅读次数:
68
80. 删除排序数组中的重复项 II class Solution { public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; if(nums.size()==1) return 1; int an ...
分类:
编程语言 时间:
2020-06-17 20:26:28
阅读次数:
58
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/ 代码 class Solution { public: int removeDuplicates(vector<int>& nums) { int k = ...
分类:
编程语言 时间:
2020-06-17 16:42:35
阅读次数:
66
概述 本文中主要讲解一些常见排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序 常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序 ...
分类:
编程语言 时间:
2020-06-17 13:03:11
阅读次数:
69
排序数组中的搜索问题,首先想到 二分法 class Solution: def missingNumber(self, nums: List[int]) -> int: i, j = 0, len(nums)-1 while i <= j: m = (i+j)//2 if nums[m] == m: ...
分类:
其他好文 时间:
2020-06-17 01:28:14
阅读次数:
49
<?php #基数排序,此处仅对正整数进行排序,至于负数和浮点数,需要用到补码,各位有兴趣自行研究 #计数排序 #@param $arr 待排序数组 #@param $digit_num 根据第几位数进行排序 function counting_sort(&$arr, $digit_num = fa ...
分类:
编程语言 时间:
2020-06-16 23:31:04
阅读次数:
80
主要用到两个函数: 1.array_column() 返回输入数组中某个单一列的值。php版本5.5以后自带 2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。 <?php ...
分类:
编程语言 时间:
2020-06-16 23:26:02
阅读次数:
68
双指针 思路: 双指针覆盖多余重复项,一个指针i负责遍历,一个指针j负责要覆盖的重复项位置。 用count记录重复项的个数,则不用覆盖的情况是nums[i]==nums[j]并且count>2,那么需要覆盖的情况就是nums[i] != nums[j] 或者 count<=2,这里我们可以在nums ...
分类:
编程语言 时间:
2020-06-14 15:00:47
阅读次数:
63
题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2 顺序查找:时间复杂度O(n) //C int searchInsert(int* nu ...
分类:
其他好文 时间:
2020-06-10 11:24:20
阅读次数:
62