排序算法的相关概念 1、内部排序和外部排序 内部排序:整个排序过程完全在内存中进行; 外部排序:排序需要借助外部存储设备才能完成。 2、算法的稳定性 相同关键字的领先关系在排序过程中不发生变活,则所用的排序方法是稳定的。 算法思想 从上往下扫描整个待排序数组,若相邻的两个数逆序,则交换位置(让较大的 ...
分类:
编程语言 时间:
2018-07-30 15:39:04
阅读次数:
166
数组的格式 数据类型[] 数组名 = new 数据类型[数组长度] 例如 想要创建一个能够存储10个int类型数据的容器 int[] array = new int[10] 分为三个动作: 1.声明了一个数组(=号左边的部分) 2.创建一个数组对象 在内存中给数组分配存储空间(=号右边 new部分) ...
分类:
编程语言 时间:
2018-07-29 18:59:13
阅读次数:
148
题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1 ...
分类:
其他好文 时间:
2018-07-28 20:26:27
阅读次数:
98
最近的学习是相当的无聊,并且很无趣,每天都浪费了很多时间,比如今天下午,就是搞一手成语接龙,我也是醉了… 并且我也不知道学什么了,所以决定刷题 虽然我是0算法基础,0逻辑能力的渣渣,但是尽力每天做一道题,总会慢慢进步的 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 ...
分类:
编程语言 时间:
2018-07-27 01:22:37
阅读次数:
150
算法原理:在数组的的有序区中找到待排序的元素要插入的位置,将该位置后面的元素整体后移,将待排序的元素插入该位置,重复以上步骤,直到倒排序的元素全部插入完成为止。 图示: 代码: ...
分类:
编程语言 时间:
2018-07-25 20:45:41
阅读次数:
139
问题描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 方法1:for 循环 class Solution(object): def searchInsert(self, nums, targ ...
分类:
其他好文 时间:
2018-07-23 22:07:27
阅读次数:
152
class Solution { public: int search(vector& nums, int target) { int beg = 0; int end = nums.size()-1; while(beg = nums[beg]) // 递增区间 直接用二分就可以了 { ... ...
分类:
编程语言 时间:
2018-07-23 14:47:59
阅读次数:
204
class Solution { public: int left_bound(vector& nums, int target) { int beg = 0; int end = nums.size()-1; int mid = 0; while(beg nums[mid]) { ... ...
分类:
编程语言 时间:
2018-07-22 18:48:02
阅读次数:
323
1、154. 寻找旋转排序数组中的最小值 II 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 注意数组中可能存在重复的元素。 2、33、搜索旋转排序数组 假设按照升序排序 ...
分类:
编程语言 时间:
2018-07-22 15:19:35
阅读次数:
173
假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O ...
分类:
编程语言 时间:
2018-07-21 21:22:29
阅读次数:
219