Java 的 euqals()
和 hashCode()
可以说是最常用的两个 Object 方法,那具体怎么重写这两个方法才能做到真正的实用和有效呢?
其实大致思路都是相同的,不过是判断地址和转型后判断属性,但转型和判断属性的方式还要考虑到子类继承的情况,下面是阅读《Java 修炼指南》后的总结写法
Java 的 euqals()
和 hashCode()
可以说是最常用的两个 Object 方法,那具体怎么重写这两个方法才能做到真正的实用和有效呢?
其实大致思路都是相同的,不过是判断地址和转型后判断属性,但转型和判断属性的方式还要考虑到子类继承的情况,下面是阅读《Java 修炼指南》后的总结写法
毕竟 WSL2 只是一个子系统,所以可以大胆折腾,搞坏了重置 Ubuntu 即可,但是每次弄坏了可能还要去重新配置环境,MySQL, Redis, Docker 啥乱七八糟的装一遍也很麻烦,后来发现可以使用导入导出的方式做一个快照和回滚
其次我这种强迫症人选对磁盘清理真是谜之依赖,所以又找到了对 WSL 虚拟磁盘的压缩方式
自己参加秋招时做过的算法题(包括面试、笔试),这里贴出来做一个记录,代码够清晰了,所以也就没写注释,以后也尽量改掉一行注释一行代码的习惯,毕竟能够靠代码自己表达的东西就没必要啰嗦了
准备蓝桥杯时候刷真题的一小部分记录,有几道题在我之前发过的 蓝桥杯普及题 中,好多复杂的题直接把思路写在代码注释上,也没精力再整理到这了,后来还整理了一部分国赛真题,放在 OneNote 上的,结果在整理 OneDrive 上的文件时一不小心(手贱)给送走了,蓝桥杯的相关题刷过的还蛮丰富的,但记录下来的就只有这些了
因为当时备考比较匆忙,图和树的题只是粗略写了一下并没有整理,包括搜索中的 BFS 也没整理,搜索和动态规划这两部分的内容较少,便直接整合到一起了,后续就没了,当时参加 PAT 是在大三,那时候总觉得时间用不完,写了几个没什么技术含量的小东西之后就觉得没意思了,当时刷知乎看到陈越姥姥说 PAT 就等于计算机的托福啊,便一头扎进去准备了,中间因为自身原因放下了一段时间,导致后来成绩不理想(当时还收到 58 同城的面试邀请),但功不唐捐感觉还是学到了不少东西
C++ 中为使用者提供了标准的模板库也叫 STL,其中封装了大部分刷题所要用到的容器,而我在之前写过一篇《C++ STL》,所以这里就是单纯的记录一些类型题的解题思路,并不重复赘述具体的使用和含义
话说 C++ 中的容器在易用性和速度上做出的平衡要比其他语言强的不是一星半点,之前看过侯捷老师的手撕 STL 源码,后来转 Java 没能坚持看完,但仍感觉受益匪浅(虽说时间一长忘干净了),不知道什么原因 B站上找不到了
数学可以提高思维能力,而算法最需要的就是思维能力,所以数学和算法题总是绕不开的,PAT 中就有专门的数学类型题但只是将需要大量计算的数学题用算法的方式进行解答,但还是有一部分题做到了很好的结合。举个不恰当的例子:圆的面积就是将其不断分割成可以用来计算的矩形和三角形,按照数学的思路就是用圆周率,而算法就是模拟切割的过程不断计算(当然实际肯定不是这样),不过计算机被创造出来的初衷好像就是做这种事
之前参加蓝桥杯竞赛时候刷的算法题,蓝桥杯虽然一年比一年难,但是每年的题多少都有往届真题的影子,这些题不说是精华吧,但因为不是按类型刷的,所以题型涵盖度,知识点广度都是有的,我当时刷完之后就感觉有点进门槛了