版本号是什么MAJOR.MINOR.PATCH
以上分别指的是:
MAJOR(主版本号):当你做了不兼容的 API 修改时,增加主版本号。
MINOR(次版本号):当你做了向下兼容的功能性新增时,增加次版本号。
PATCH(补丁版本号):当你做了向下兼容的问题修正时,增加补丁版本号。
linux和windows的换行符区分
linux用的是LF(\n)
windows用的是CRLF(\r...
起因在使用 hexo 作为博客框架,采用 redefine 作为布局框架的时候我感觉在一些地方非常不方便,尤其是每次写完新 post 就要推送一大坨变更,因为每篇 post 之间的耦合性太强,在渲染的时候每篇博客的很多细节都要改,这样就导致一个问题,每篇 post 没有专属于自己的推送记录,就无法通过这个过程为每次更新的内容做标注,如果想要找到之前的内容大概和什么有关,只有 tag cate...
设计一个ATM机器🟨
做题过程
本来觉得维护一个普通数组就可以了,其实确实也是这样的,但是我写的依托💩。
算法概述
原题
本题要求为设计一个ATM类,会读取不同面额的钞票,每次吐钞票的时候优先吐面额大的,还会判断够不够吐。
时间复杂度为O(nk):k指的是钞票的面额种类数
空间复杂度为O(k)
JAVA
123456789101112131415161718192021222...
🚀竞赛
字符串匹配模式🟩
做题过程
真是吐了,一个半小时都没做出来这道简单题,心态真的爆炸。
算法概述
我的日程安排表 III🟨做题过程用线段树写起来很麻烦,就差分很快写完了,在能不能剪枝上卡了一下,后面还是没有剪枝,好像不能剪枝。
算法概述原题
本题要求为每次加入预定区间后返回预定区间最大重叠次数。差分太简单了,还是以线段树为准。
时间复杂度为
空间复杂度为
JAVA12345678910111213141516171819202122232425262728293031class M...
回文数
做题过程
不会,只能面向结果。
算法概述
原题
本题要求为如题所示。
时间复杂度为O(logn)O(\log{n})O(logn):log类型的时间复杂度是自动忽略底数的,这是因为底数相当于常数
空间复杂度为O(1)O(1)O(1):优化的核心
JAVA
12345678910111213141516171819class Solution { public bo...
我的日程安排表 II🟨
做题过程
本来以为把I中的哈希集合改成哈希表就行了,但是懒标记不能像I中那么处理了。
算法概述
原题
本题要求为用一个类来管理日程安排(区间单位),当交叉或者重叠的区间超过三次,则不再插入,返回错误。还是使用 线段树 或者说 差分数组 。
线段树:
时间复杂度为O(nlogC)O(n \log{C})O(nlogC):logC\log{C}logC 为线...
我的日程安排表 I🟨做题过程想不到用哈希表存的其他方法,感觉最优的策略就是每次存储然后跟哈希表的每个entrySet做比较。
算法概述原题
本题要求为用一个类来管理日程安排,每次输入开始时间和结束时间,如果没有时间重叠则可放入类内,如有冲突时间,则返回错误。使用直接遍历(或二分查找优化),或者是 线段树 。
时间复杂度为: 为线段树的最大深度
空间复杂度为
JAVA1234567891...
二进制求和🟩
做题过程
完全不懂位运算怎么弄。
算法概述
原题
本题要求为给出二进制数字的字符串,返回加法结果。使用 位运算 或者模拟解决。
时间复杂度为O(∣a∣+∣b∣+X⋅max(∣a∣,∣b∣))O(|a|+|b|+X \cdot \max(\lvert a \rvert , \lvert b \rvert))O(∣a∣+∣b∣+X⋅max(∣a∣,∣b∣)):也就是转换...
将日期转换为二进制表示(easy)做题过程这种一般都有内置方法可以直接调用完成的。
算法概述原题
本题要求为将给出的字符串日期表示转换为二进制表示。采用各语言内置方法及拼接字符串即可。
时间复杂度为O(1)
空间复杂度为O(1)
PYTHON123456789class Solution: def binary(self, x: int) -> str: ret...