406. 根据身高重建队列 贪心算法 思路参考:https://leetcode-cn.com/problems/queue-reconstruction-by-height/solution/gen-ju-shen-gao-zhong-jian-dui-lie-by-leetcode/ 第一次在排 ...
分类:
其他好文 时间:
2020-07-19 15:49:30
阅读次数:
63
1、给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 算法思路:新数组: nums[0.......l] def removeElement(nums,val): #想象一个新数组nums[0....l],其索引从0...l。 l= ...
分类:
其他好文 时间:
2020-07-12 17:18:27
阅读次数:
71
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 算法思路: 将数组分成子数组,使左右数组均有序、如果左数组中一元素大于右数组某一元素,说明左数组其余元素都大于右数组的当前元素,此时产生左数组剩下元素数量的逆序对。 当左数组 ...
分类:
编程语言 时间:
2020-07-10 16:51:44
阅读次数:
70
壹 ? 引 十天前做的一道题了,一直没整理,今天才花时间去读了官方题解思路,这道题也凸显出了算法思路的重要性,执行耗时差的真不是一点半点。题目来自448. 找到所有数组中消失的数字,题目描述如下: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现 ...
分类:
编程语言 时间:
2020-07-10 00:15:48
阅读次数:
73
1、翻转数组中的元素:s = ['l', 'e', 'e', 't', 'c', 'o', 'd', 'e'] 算法思路:定义左指针 i=0, 右指针 r = len(s)-1。交换指针对应的元素,然后同时向中间移动指针,直到指针碰撞。在指针移动的同时,交换指针指代的元素。 def reverseS ...
分类:
其他好文 时间:
2020-07-09 23:59:40
阅读次数:
120
Leetcode461 官方题解 布赖恩·克尼根算法思路 方法二是逐位移动,逐位比较边缘位置是否为 1。寻找一种更快的方法找出等于 1 的位数。 是否可以像人类直观的计数比特为 1 的位数,跳过两个 1 之间的 0。例如:10001000。 上面例子中,遇到最右边的 1 后,如果可以跳过中间的 0, ...
分类:
编程语言 时间:
2020-07-04 10:29:43
阅读次数:
94
目标 在连通网的所有生成树中,找到所有边的代价和最小的生成树,简称最小生成树问题. (简要的来说,就是在AOV网中找出串联n个顶点代价总和最小的边集) 下面记录最小生成树的两种算法,Prim和Kruskal Prim算法思路 从任意一个顶点开始,每次选择与当前顶点最近的一个顶点,并将两点之间的边加入 ...
分类:
编程语言 时间:
2020-06-27 13:20:50
阅读次数:
166
考研数据结构——排序 直冒简希,快堆并基 直接插入排序 算法思路:将待排序的关键字与已经排好的部分有序序列的中关键字从后往前进行比较,插入到合适位置,直至所有关键字都被插入到有序序列中 void insertSort(int R[],int n)//数组元素个数 { int i,j; int tem ...
分类:
编程语言 时间:
2020-06-26 13:05:39
阅读次数:
66
目标 带权重的有向图上单源最短路径问题。且权重都为非负值。如果采用的实现方法合适,Dijkstra运行时间要低于Bellman-Ford算法。 思路 选择一个节点开始蔓延 计算自身到连接它的一级节点之间的距离, 全部作为候选集 在候选集中,找到距离最短的,对应的那个节点 删除这个节点在候选集中的信息 ...
分类:
编程语言 时间:
2020-06-26 10:40:55
阅读次数:
63
内部排序 -插入排序 -直接插入排序 -折半插入排序 -希尔排序 -交换排序 -冒泡排序 -快速排序 -选择排序 -简单选择排序 -堆排序 -归并排序 -基数排序 外部排序 -多路归并排序 1.直接插入排序 算法思路:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,指导全部记录插入 ...
分类:
编程语言 时间:
2020-06-24 16:30:37
阅读次数:
52