240 发简信
IP属地:浙江
  • 120
    破茧成蝶,一路生花

    2025年4月8日,研招网发来了拟录取通知,终于,经历了两年时间备考学习,我上岸了。 此刻,我终于有机会来诉说我来时的路。 我本科属于那种纯混子,自从大一那会高数差点不及格,...

  • 生活总要向前走——记录两年的考研时光

    2025年3月30日,我走出复试的考场,心中各种情感交织在一起,一方面是对考试结果的担忧,另一方面,也意味着我的考研之路真正画上了一个句号。回首这两年的时光,有太多感慨,却又...

  • 120
    链表高频题目和必备技巧

    题目一:返回两个无环链表相交的第一个节点 算法思路:首先,如果两个无环链表相交,那么从相交节点开始,两个链表就合为了同一个链表,因此它们的最后一个节点一定是同一个;反之,如果...

  • 120
    位运算实现加减乘除

    位运算实现加法 结合之前所学的异或运算,可看作是无进位相加,那么,我们就可以将两数相加看做是两个数无进位相加的结果,然后再加上进位信息。无进位相加可用异或运算实现,进位信息可...

  • 120
    位图

    原理 在Java中,一个int型变量占32位,我们可通过hash表快速判断其是否存在,但是该int型变量在hash表中同样也要占32位。而位图是用bit组成的数组来存放值,b...

  • 120
    位运算的骚操作

    位运算有许多技巧,计算速度非常快,仅次于赋值操作,常数时间极好。 题目一:判断一个整数是不是二的幂次 如果一个整数是二的幂次,那么其二进制数有且仅有一个1,其余为0,因此我们...

  • 120
    异或运算的骚操作

    异或运算 两个二进制数做异或运算,“不同为1,相同为0”,就是异或运算的结果。还可以从其他方面来理解异或运算 从性质1就可推出下面三条性质 由于是无进位相加,因此每一位,若有...

  • 重要排序算法总结

    排序算法的稳定性 排序算法的稳定性是指:同样大小的样本在排序之后不会改变原本的相对次序。稳定性对于基础类型的对象来说毫无意义,但对于非基础类型的对象,可以保留之前的相对次序。...

  • 120
    基数排序

    算法思路 对于一个无序数组,我们从低位到高位,每轮排序按数组中元素该位的大小进行排序,例如 该数组元素最多有两位,因此我们首先按个位进行排序 最终就得到了一个有序数组。 基数...

  • 我好像总是犹豫不决

    说实话,回顾我人生的二十几年,我好像在犹豫不决中错过了许多机会。记得高中那会,一直喜欢一个女生,某一个暑假,她在奶茶店里打工,我经常去找她,那段时间我们的关系走得很近,她借着...

  • 120
    过年

    转眼又到了过年了,今年是蛇年,忽然间意识到我已经24岁了,也已经到老大不小的年纪了,回顾这几年,感觉依旧一事无成,我甚至不知道今年过年回家我还是否能收到压岁钱呢,或者我应该给...

  • 120
    堆结构的常见题目

    合并k个升序链表 题目描述 解答思路 这个题目可用暴力解法,遍历收集所有链表结点,然后进行排序,再将排序后的结点串联为一个链表。时间复杂度方面,遍历所有结点和将所有结点串联为...

  • 哈希表、有序表和比较器的用法

    哈希表 哈希表是一个集合,根据值来做key,或者根据内存地址来做key。主要有HashSet和HashMap,增删改查时间按复杂度都是O(1),HashSet保存的只有key...

  • 120
    堆结构和堆排序

    堆的结构及其调整操作 堆可被视为一棵完全二叉树,用数组来存储其元素,其结构和数组元素和二叉树结点对应关系如下图 堆可以分为大根堆和小根堆,大根堆是指在整个结构中的任何一个子结...

  • 120
    随机选择算法

    求无序数组中第k大的数,如果我们先将数组排序,然后再得到第k大的数,就前面所学的排序算法而言,最好的时间复杂度也是O(n*logn)。我们可以借助快速排序的划分方法,实现一个...

  • 120
    随机快速排序

    快速排序原理 对于一个数组,选择数组中一个随机元素x做划分,将<=x的放到x的左边,将>x的放到x的右边,此时x所在的位置一定是最后排完序后x的最终位置。然后我们对x左边的数...

  • 120
    归并分治

    先来看一个题目 这个题目的暴力解法很容易想,每次遍历当前数左边的数,如果小于等于当前数,则加入到小和中。暴力解法是时间复杂度为O(n )。 而如果我们使用归并分治的方法,可以...

  • 120
    归并排序

    原理 归并排序是通过将一个大数组不断划分为小数组,使小数组内部有序,然后再将有序的小数组合并为一个有序的大数组。 递归实现 每次从中点将数组划分为两个小数组,两个小数组需内部...

  • 120
    递归和master公式

    递归是如何实现的 举例来说,比如我们希望求一个数组中的最大值,使用如下递归的方法 每次将数组对半划分,求出对半划分两部分的最大值,取其中较大者返回 递归就是通过系统栈来实现的...

  • 120
    算法笔试中输入和输出的处理

    填函数风格 在leetcode做题时,我们碰到的就是填函数风格的题目,比如 这种风格的题目中,通常类名以及函数名都会给出,且不可修改,我们只需要将函数的逻辑完成,且返回答案即...