![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
文章平均质量分 75
适合找工作的小伙伴们刷的一些算法题
秃头嘤嘤魔
这个作者很懒,什么都没留下…
展开
-
牛客面试必刷101——哈希
文章目录两数之和 BM50数组中出现次数超过一半的数字 BM51数组中只出现一次的两个数字 BM52缺失的第一个正整数 BM53三数之和 BM54两数之和 BM50原题给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。(注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到)数据范围:2≤len(numbers)≤105,−10≤numbersi≤109,0≤target≤1092\leq原创 2022-05-23 18:26:59 · 379 阅读 · 0 评论 -
牛客面试必刷TOP101——链表
反转链表链表内指定区间反转链表中的节点每k个一组翻转合并两个有序链表合并K个有序链表判断链表中是否有环链表中环的入口结点链表中倒数最后k个结点删除链表的倒数第n个节点两个链表的第一个公共结点链表相加(二)单链表的排序判断一个链表是否为回文结构链表的奇偶重排删除有序链表中重复的元素-I 删除有序链表中重复的元素-II反转链表class Solution: def ReverseList(self , head: ListNode) -> ListNode:原创 2022-05-01 16:14:43 · 961 阅读 · 0 评论 -
【最大数】&【最小数】
剑指offer45输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例1输入: [10,2]输出: “102”这个题本质上还是一个排序问题,要解决的是如何定义元素的大小。比如示例1中,如何定义10和2的大小,从而使得排序好的数组的排序结果最小。首先将整数数组转换为字符串数组。令a = ‘10’,b = ‘2’a+b = ‘102’b+a = ‘210’显然210 > 102,也就是a需要放在b的前面,使得拼接结果最小。据此,我们就可以原创 2022-04-26 10:49:33 · 170 阅读 · 0 评论 -
leetcode25—K 个一组翻转链表
借助栈实现k组翻转操作、空间复杂度O(n)1、 统计链表长度n,如果n<k,则直接返回原链表,否则进入下一步2、每次令pre指向前一组的最后一个结点,cur指向当前组的第一个结点将当前组前K个结点加入到栈中,此时cur指向当前组的最后一个结点,即图中的3当前组的最后一个结点是翻转后的第一个结点,因为令pre.next = cur,即0->4;记住下一组的第一个结点,存储在nx中,即nx = cur.next当栈不为空时,依次弹出栈,令cur指向栈弹出的结点,即cur.next = s原创 2022-04-01 17:03:59 · 614 阅读 · 0 评论