力扣算法
向神明诉语、
这个作者很懒,什么都没留下…
展开
-
力扣~215. 数组中的第K个最大元素
快速选择算法是基于快速排序的算法,它的基本思路是通过划分(partition)将数组分为两部分,一部分大于等于基准值,一部分小于基准值。在每次递归中,选取数组中随机的一个元素作为枢纽元,并将数组分为左右两部分,然后对其中一部分进行递归,直到pivot的位置为k或者只有一个元素。快速选择算法可以在O(n)的时间复杂度内,找到一个无序数组中第k大的数。如果pivot的位置小于k,则在右侧继续查找第k大的数,否则在左侧继续查找第k大的数。如果pivot的位置是k,则找到了第k大的数。原创 2023-02-20 21:20:09 · 59 阅读 · 0 评论 -
牛客——JZ45把数组排成最小的数GO语言
只考虑首字符的大小不可靠,但是如果字符串a拼接b的得到的数字大于b拼接a,那么肯定b应该排在a的前面,我们要就按照这样的次序将排序的比较重载就可以了。这道题呢最重要的解决怎么样组装的数字是最小的,按照什么顺序组装?如果我们能得到这个次序,直接将这个次序的数字拼接在一起就好了。原创 2023-02-20 09:43:29 · 110 阅读 · 0 评论 -
力扣~4. 寻找两个正序数组的中位数
【代码】力扣~4. 寻找两个正序数组的中位数。原创 2023-02-07 16:27:08 · 57 阅读 · 0 评论 -
力扣~34. 在排序数组中查找元素的第一个和最后一个位置 Go语言
sort.SearchInts()方法源码参考博客。原创 2023-02-07 15:50:37 · 132 阅读 · 0 评论 -
力扣~162.寻找峰值 Go语言
本题的一个重要特点是提示三中相邻两个元素不相等,那么从第一个元素开始,若其大于相邻的后续元素,则第一个元素就是一个局部最大值,返回即可。若其小于相邻的后续元素,则第二个元素大于第一个元素。如此,一一遍历数组,第一次出现,第i个元素若大于其相邻后续元素,则该元素就是一个局部最大值,返回即可。时间复杂度为O(n)原创 2023-02-07 14:34:43 · 82 阅读 · 0 评论 -
02、两数相加 力扣
给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。...原创 2022-07-25 22:26:58 · 51 阅读 · 0 评论