自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 收藏
  • 关注

原创 力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划

常规的动态规划题目。

2024-11-01 13:01:41 299

原创 力扣(leetcode)每日一题 3192 使二进制数组全部等于 1 的最少操作次数 II

这里选择的是最稳定的写法,从右到左的动态规划,保证能通过。但是这个题目其实还是没有什么特别的,无非是从左边到右边,遇到了不一致的就进行反转。

2024-10-19 18:22:06 206

原创 力扣(leetcode)每日一题 3191 使二进制数组全部等于 1 的最少操作次数 I |贪心

这个写法是猜的。虽然不知道为什么,但是肯定当前为0的时候进行翻转的贪心策略最终肯定是翻转次数最少的。背后的数学原理我也不懂,但是可以猜测和尝试。1改成0,0改成1 ,可以使用1-x表达式来获取。

2024-10-18 00:28:38 244

原创 力扣(leetcode)每日一题 1419 数青蛙 |对应华为od 一群大雁往南飞

这样的题目最难分析了。最新华为OD机试题目描述一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。具体的:​ 1.大雁发出的完整叫声为”quack“,因为有多只大雁同一时间嘎嘎作响,所以字符串中可能会混合多个”quack”。​ 2.大雁会依次完整发出”quack”,即字符串中’q’ ,‘u’, ‘a’, ‘c’, ‘k’ 这5个字母按顺序完整存在才能计数为一只大雁。如果不完整或者没有按顺序则不予计数。

2024-10-16 22:07:38 353

原创 力扣(leetcode)每日一题 547 省份数量 | 并查集 |必须会

我个人还是倾向于简化版本的,因为这个好写。这个不管是平时,还是华为od的算法中都会涉及到,属于必须掌握的知识。

2024-10-16 00:03:15 867

原创 力扣(leetcode)每日一题 122 买卖股票的最佳时机 II |华为od考题

每一步都进行贪心。把累加的增长更新到res中华为od题目为:商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是,每种商品的价格是通过对商品的买进和卖出获取利润,请给出商人在days天内能获取的最大的利润注:同一件商品可以反复买进和卖出。

2024-10-15 22:35:19 286

原创 力扣(leetcode)每日一题 875 爱吃香蕉的珂珂|华为od常考题目

加入100香蕉,每分钟吃3分,那么100/3=33,还有余数的话需要加1,如果没有余数(比如99)就不需要加1这里用二分加速枚举华为od的题目描述:孙悟空爱吃蟠桃,有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有 N 棵桃树,每颗树上都有桃子,守卫将在 H 小时后回来。孙悟空可以决定他吃蟠桃的速度K(个/小时),每个小时选一颗桃树,并从树上吃掉 K 个,如果树上的桃子少于 K 个,则全部吃掉,并且这一小时剩余的时间里不再吃桃。。。。

2024-10-15 22:02:30 202

原创 力扣(leetcode)每日一题 3315 构造最小位运算数组 II | 数学技巧

数学技巧题目,每次见了都怕。做过一遍再说也写不出来。本身也练习不多但是这种面试上不会考,因为不能像动态规划有区分度。

2024-10-14 00:26:15 508

原创 力扣(leetcode)每日一题 3320 统计能获胜的出招序列数| 暴力递归+记忆化搜索

暴力递归+记忆化搜索最优解应该是动态规划,待研究另外这一题还训练了mod的使用方法。

2024-10-13 23:18:26 370

原创 力扣(leetcode)每日一题 3158 求出出现两次数字的 XOR 值 |位运算

比较简单,没啥好总结的,官方水题目,我也水文章可以当作练习位运算。

2024-10-12 23:17:35 322

原创 力扣(leetcode)每日一题 1436 旅行终点站

这里需要知道,这个就是一个点到点的跳转。不是要从开始点跳转。任意一点都可以跳转到终点,而舍弃之前的点。

2024-10-08 15:30:05 256

原创 力扣(leetcode)每日一题 871 最低加油次数 | 贪心

和滑动窗口的写法是一样的,但是这是属于贪心算法。滑动窗口也属于贪心这一类问题。这个题目还是比较简单的,如果因为看到hard而没有做出来就太可惜了官方题解用了一个while解决问题,本质是一样的,是多引入一个加油点 位置为终点,补充为0。

2024-10-07 12:09:41 444

原创 力扣(leetcode)每日一题 983 最低票价 |动态规划

这个题目的用小于号还是小于等于,递归下去是否还要加1的边界判断比较容易绕晕另外,7天的签证可以比1天的签证便宜,所有必须3种情况都递归下去。

2024-10-01 12:35:45 592

原创 力扣(leetcode)每日一题 699 掉落的方块 | 线段树|经典

还是去网上找视频看把,这个真不好解释首先正放心 4,6 会落在4,6和10,6的位置,但是10,6的位置是没有支点的,也就是用不了的。因为这时候10位置来了方块,是无法累加上去的然后这里不能记录4,6 5,6 6,6 7,6 8,6 9,6 这里需要对点进行map的压缩。这样只要头尾的点就可以了。也就是你会有很多点 数值很大 100,10000,555555,666666,666669但是会通过hash映射到 1,2,3,4,5上。非常的紧凑。

2024-10-01 01:28:56 292

原创 力扣(leetcode)每日一题 2286 以组为单位订音乐会的门票 | 线段树

minArr的使用是超出了模板的范围// 刷新求和// 刷新最小这些值的刷新,在递归前,还是递归后,还是递归方法的尽头。都是有讲究的。

2024-10-01 01:18:54 905

原创 力扣(leetcode)每日一题 1845 座位预约管理系统| treeSet和priority Queue的区别|线段树

之前发过一篇,感觉还有深挖的地方,于是又补充一些信息这题目虽然是middle难度题目,要解答出来是只要easy的时间,但是深挖可以有hard的难度题解1 可以帮助复习线段树的使用,题解2 可以复习一下java基础知识。

2024-10-01 00:55:29 559

原创 leetcode|刷算法 线段树原理以及模板

线段树

2024-09-30 23:52:32 835

原创 力扣(leetcode)每日一题 1845 座位预约管理系统|堆

这个比简单题目还简单。1分钟就敲完代码。

2024-09-30 18:07:57 687

原创 力扣(leetcode)每日一题 2376 统计特殊整数 | 数位dp | 暴力递归+记忆化搜索

这个不好分析呀。想到了第一次做也憋不出暴力递归不清楚这个是不是数位dp,但是肯定可以归到暴力递归+记忆化搜索他需要两个参数来isNum,isLimit来分析,还要掌握位运算的技巧来判断数字是否使用过。

2024-09-29 16:38:55 768

原创 力扣(leetcode)每日一题 2073 买票需要的时间

这算是简单的数学技巧题吧。

2024-09-29 11:47:50 341

原创 力扣(leetcode)每日一题 2516 每种字符至少取 K 个 | 滑动窗口

其实滑动窗口的代码并不好写,涉及到临界的判断。如果是第一次写,很可能会自闭。我已经写过很多次了,还是不能一笔写完这里花了这么多时间是想着把index和rightIndex融入到for循环。然后这个忘记写了// 如果还是满足,就不需要加一} else {这不是最优解,但是最近比较忙,就不研究最优解了。

2024-09-27 23:51:14 515

原创 力扣(leetcode)每日一题 2207 字符串中最多数目的子序列

这个题目看着难,还是挺好做的。不算是动态规划,属于数学技巧。

2024-09-27 21:19:30 1083

原创 文章解析: 一不小心掉入了 Java Interface 的陷阱

【代码】文章解析: 一不小心掉入了 Java Interface 的陷阱。

2024-09-26 16:25:04 167

原创 力扣(leetcode)每日一题 2306 公司命名

还是和数学技巧有关系。

2024-09-26 15:07:12 669

原创 力扣(leetcode)每日一题 2535 数组元素和与数字和的绝对差

考点是依次提取各位数。

2024-09-26 10:48:48 364

原创 力扣(leetcode)每日一题 1014 最佳观光组合

对找下标i右边的最大值进行预先处理,达到复用。也算是记忆搜索的一种。属于简单题目。

2024-09-23 12:43:43 524

原创 力扣(leetcode)每日一题 997 找到小镇的法官

给你一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。小镇里有 n 个人,按从 1 到 n 的顺序编号。传言称,这些人中有一个暗地里是小镇法官。如果小镇法官存在并且可以确定他的身份,请返回该法官的编号;输入:n = 3, trust = [[1,3],[2,3],[3,1]]输入:n = 3, trust = [[1,3],[2,3]]输入:n = 2, trust = [[1,2]]每个人(除了小镇法官)都信任这位小镇法官。

2024-09-22 01:01:20 216

原创 力扣(leetcode)每日一题 2374 边积分最高的节点

看着是图的遍历,但是仔细一看就是一个非常简单的贪心。每次刷新记录最大值刷新最大值就好了。第二,这里的最大值,会溢出Integer.MAX_VALUE 因此需要用long来记录。输入:edges = [1,0,0,0,0,7,7,5]第一,这里不需要map,map的效率没有初始化数组高。定义为:所有存在一条指向节点。原始代码如下(这是错误的)给你一个有向图,图中有。

2024-09-22 00:22:00 484

原创 力扣(leetcode)每日一题 815 公交路线 (图的宽度优先遍历变种)

例如,路线 routes[0] = [1, 5, 7] 表示第 0 辆公交车会一直按序列 1 -> 5 -> 7 -> 1 -> 5 -> 7 -> 1 -> …输入:routes = [[7,12],[4,5,15],[6],[15,19],[9,12,13]], source = 15, target = 12。将对应的公交车列表都取出来,对应公交车列表对应的所有站台都拿出来。输入:routes = [[1,2,7],[3,6,7]], source = 1, target = 6。

2024-09-21 01:03:29 406

原创 力扣(leetcode)每日一题 2414 最长的字母序连续子字符串的长度

字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说,字符串 “abcdefghijklmnopqrstuvwxyz” 的任意子字符串都是 字母序连续字符串。给你一个仅由小写英文字母组成的字符串 s ,返回其 最长 的 字母序连续子字符串 的长度。解释:共有 4 个不同的字母序连续子字符串 “a”、“b”、“c” 和 “ab”。例如,“abc” 是一个字母序连续字符串,而 “acb” 和 “za” 不是。解释:“abcde” 是最长的字母序连续子字符串。“ab” 是最长的字母序连续子字符串。

2024-09-21 00:54:34 238

原创 力扣(leetcode)每日一题 LCR 187 破冰游戏(还是考的约瑟夫环)

位的成员离开圆桌,且成员离开后从下一个成员开始计数。请返回游戏结束时最后一位成员的编号。成员们按照编号顺序围绕圆桌而坐。,从 0 号成员起开始计数,排在第。位成员参与破冰游戏,编号为。这里的递归,又是不一样的。

2024-09-21 00:46:59 404

原创 力扣(leetcode)每日一题 1823 找出游戏的获胜者 (约瑟夫环)重点

这个就是约瑟夫环的问题。太难了,根本抽象不出来,抽象出来了也不会改递归,盯着公式看了半小时人都懵懵的。b站上的视频讲解也感觉讲的人是蒙的。很多题解的写法,变量多的看的我眼花。这里就是n状态的答案,是如何依赖n-1的答案的规律,然后,n为0的时候,下标也是0。个人觉得,先看解法1,再在基础上背诵下来解法2 争取解法1可以面试时候考理解写下来。但是这玩意,就像是跳台阶一样,当前看很难,现在看很简单。再回首时可以轻松秒杀。这里需要进行递归的抽象。

2024-09-21 00:27:25 157

原创 力扣(leetcode)每日一题 2332 坐上公交的最晚时间

这就像是初级程序员和高级程序员写业务代码。高级程序员直核心,逻辑简单明了。初级程序员逻辑弯弯绕绕,各种变量,各种补丁,无用的判断分支。

2024-09-20 23:57:20 420

原创 力扣(leetcode)每日一题 1184 公交站间的距离

环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。返回乘客从出发点 start 到目的地 destination 之间的最短距离。有两种走法,一种是从左边往右边走,还有一种是右边往左边走。去两种走法的最小值。先不管出发点和终点,只有两个点,左边和合右边的点。然后这个线段可以成是环状。环线上的公交车都可以按顺时针和逆时针的方向行驶。

2024-09-16 14:18:44 350

原创 力扣(leetcode)每日一题 2848 与车相交的点

一般的范围和数值不会给这么小,这纯摆着送分。

2024-09-15 11:42:50 444

原创 力扣(leetcode)每日一题 2390 从字符串中移除星号

官方的题解是很妙,但是还是要回归朴素的思维一步一步推到为妙。

2024-09-15 00:18:45 960

原创 基于java语言的版本号大小比较判断的通用方法

思路是- 将其无规则的版本号转换成数据,然后对数字进行比较。这里思路简单明了就是为了尽可能满足业务下的版本号的比较。bigdecimal支持的位数很长天然支持上面大小比较。首先版本号的数字长度不定,中间逗号数量不定。网上没有找到可以借鉴的方法,无奈自己写一个。再将上面字符串转化为数字,进行大小比较。这里进行补0,转换为一下字符串。

2024-07-25 15:56:13 320

原创 记录一个笔误引发的bug导致生产环境报错,但是本地环境,测试环境运行正常

记录一个笔误引发的bug导致生产环境报错,但是本地环境,测试环境运行正常。

2024-06-26 12:20:22 435

原创 记录bug导致测试部署出错,但是本地环境启动正常。雪花算法使用中报错。并带有源码分析。

也就是说,hutool工具snowflake开发的时候已经考虑到有 水平不怎么高的程序员使用,而进行了代码上的兜底。这里取hashCode后的数字加上99999数字,可能会越界变成负数,因为这里的workId需要在0到31之间就不被满足。第一反应,第一种创建的方式是错误的。两个实例对于雪花id的创建是不会有加锁限制的。集群产生的日志要求traceId不重复,使用雪花算法生成traceId。用工具创建snowflake单例,id每次用单例中生成。没有找到类似双重检查锁的代码。每次都用工具创建实例,再去生成。

2024-06-26 00:33:10 514

原创 [学习笔记] 禹神:一小时快速上手Electron笔记,附代码

作为快速熟悉用。

2024-06-25 22:41:37 1885

推荐一款xshell替代品 electerm

推荐一款xshell替代品 electerm

2024-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除