问题:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/submissions/ GitHub实现:https://github.com/JonathanZxxxx/LeetCode/blob/master/Class33 ...
分类:
编程语言 时间:
2019-10-23 14:00:06
阅读次数:
117
题目链接:https://vjudge.net/problem/POJ-3977 题意:给一个大小<=35的集合,找一个非空子集合,使得子集合元素和的绝对值最小,如果有多个这样的集合,找元素个数最少的。 思路:显然,可以用折半搜索,分别枚举一半,最大是2的18次方,复杂度能够满足。因为集合非空,枚举 ...
分类:
其他好文 时间:
2019-10-21 11:14:54
阅读次数:
218
一. 问题描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 3 ...
分类:
其他好文 时间:
2019-10-20 15:58:45
阅读次数:
81
被同学带着去刷算法,一晃两个月,突破了一百题了,期间经历过数据结构、贪心、动态规划、二分查找等等类型的题目,还有少数的智力题,在此过程中感觉获益良多,特此写一篇总结。 平台选用了leetcode,题目的水平属于ACM入门级(尽管这样还是难。。),题目有easy,medium,hard三档,再开始刷题 ...
分类:
其他好文 时间:
2019-10-18 12:20:57
阅读次数:
90
[TOC] 从二分查找到折半插入排序 回忆直接插入排序的过程,发现每趟排序中进行了两个动作: \1. 从左边的已排序序列中找寻插入位置。 \2. 给插入位置腾出空间,将插入元素复制到表中的插入位置。 步骤一在直接插入排序中是一个“Linear Search”顺序查找过程,而我们知道 二分查找比顺序查 ...
分类:
编程语言 时间:
2019-10-16 11:19:07
阅读次数:
104
概念介绍 有同学想了解二分查找,今天它来了!二分查找也叫折半查找,查找效率较高。但是它有一个使用前提:待查找的序列必须为有序的,升序或降序都可以。我们来看一下它的核心思想:假设有n个元素的序列升序排列,以中间值arr[n/2]将序列分为两部分,我们取序列的中间值arr[n/2]与待查找数x比较,如果 ...
分类:
其他好文 时间:
2019-10-16 00:50:55
阅读次数:
127
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中; 否则,如果查询关键字比结点 ...
分类:
其他好文 时间:
2019-10-15 09:44:52
阅读次数:
69
数组: 优点: 1. 数组的主要优点是根据下标值访问效率会很高 2.但是如果希望根据元素来查找对应的位置? 3.比较好的方法是先对数组排序,再进行二分查找 缺点: 需要先对数组排序,生成有序数组,才能提高查找效率 数组在插入和删除数据时,需要有大量的位移操作(插入中间或者首部时),效率很低 链表: ...
分类:
编程语言 时间:
2019-10-14 18:42:37
阅读次数:
220