算法日记
文章平均质量分 69
Coniary
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【算法日记】 最大战力值
0 即不会对编号为 0 的角色进行战力值的限定,maxPower 是该角色被限定的最大战力值。在这个过程内,如果某段在两限制点间的战力值的斜率为1或者0,那么不会对这段战力值改变,但是遇到了限制条件,方程就会消除正向遍历产生的断层。接下来的2行是具体的限制,对编号为1的角色限制了最大战力值为1,对编号为2的角色限制了最大战力值为3,对编号为4的角色限制了最大战力值为3。接下来的2行是具体的限制,对编号为1的角色限制了最大战力值为3,对编号为2的角色限制了最大战力值为2。原创 2024-10-20 18:48:18 · 898 阅读 · 1 评论 -
【算法日记】找出最长神奇数列 找出整数数组中占比超过1/N的元素
通过遍历主串来寻找子串,通过模拟规则,下一个数和上一个数相反,我们可以写一个转变的函数来实现,然后通过if来判断下一个数是否符合,符合就push_back到子串,否则就到头了,这时我们把已经push完成的子串push到子串数组中,然后使得外循环的i = 内循环的j以免不必要的时间开销。使用容器map,键为出现的数字,值为该数字出现的次数,通过一次遍历数组,我们得到了这个数组内数字种类及其出现次数,通过遍历map容器,找出大于N的键后返回,否则返回-1。小明是一个中学生,今天他刚刚学习了数列。原创 2024-10-18 17:37:20 · 700 阅读 · 0 评论 -
【算法日记】力扣239 滑动窗口最大值
口头来描述一下主函数的过程,我们说我们现在实现的函数是调用front函数就会告诉你窗口最大值那么怎么判断这个队首元素该弹出了呢,我们可以来滑动窗口,当窗口末尾的元素和这个队列的首项相同时弹出,那么队列的队首就会变为下一个元素,我们称这个元素是即将要变为最大的元素,那么这个元素怎么来的呢?不妨换一种方法,我们使用一个队列,这个队列比较特殊,在队首的是这个区间内的最大值,有了这个队列,这个题就会非常好解决,但是STL中没有这样的队列,我们只能手搓一下这个队列。的滑动窗口从数组的最左侧移动到数组的最右侧。原创 2024-10-17 21:55:06 · 502 阅读 · 0 评论 -
【算法日记】力扣20.有效的括号 1047.删除字符串中所有相邻重复项 150.逆波兰表达式求值
给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。**输入:**s = “()”**输出:**true**输入:**s = “()[]{}”**输出:**true**输入:**s = “(]”**输出:**false**输入:**s = “([])”**输出:**true'()[]{}'原创 2024-10-13 20:20:39 · 407 阅读 · 0 评论 -
【稀土掘金AI刷题】简单四则运算 两个数列
我们使用for循环来遍历输入的字符串表达式,如果这个字符是数字就压栈到nums中,如果是操作就压栈到ops中,这是我们最初的想法,但在表达式中有()和乘除与加减之间的优先级的操作,那么该如何解决呢?对于()和乘除与加减之间的运算级的优先问题,我们可以通过提前运算来解决。那么在压栈时,我们就要把运算符区分开来,遇见(我们就压进去,当遇见)时我们就要把括号之间的数都算赶紧再继续操作,遇见普通的加减乘除的运算符就要和栈顶比较运算级,如果栈顶的运算优先级大,我们就先处理已经入栈的表达式直到栈顶运算级较小为止。原创 2024-10-11 22:43:48 · 871 阅读 · 0 评论 -
【算法日记】KMP算法
一个人能能走的多远不在于他在顺境时能走的多快,而在于他在逆境时多久能找到曾经的自己。————KMP。原创 2024-09-19 22:16:08 · 513 阅读 · 0 评论 -
【算法日记】力扣151、卡码54、55
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 “a1b2c3”,函数应该将其转换为 “anumberbnumbercnumber”。原创 2024-09-18 20:31:26 · 370 阅读 · 0 评论 -
【算法日记】力扣344、541
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须**修改输入数组**、使用 O(1) 的额外空间解决这一问题。原创 2024-09-11 09:58:01 · 318 阅读 · 0 评论 -
【算法日记】力扣454、383
给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组。原创 2024-09-09 17:18:51 · 339 阅读 · 0 评论 -
【算法日记】力扣面试题0207、142
给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交**:**题目数据整个链式结构中不存在环。,函数返回结果后,链表必须。listAmlistBlistAlistB0listAlistB**进阶:**你能否设计一个时间复杂度O(n)、仅用O(1)内存的解决方案?原创 2024-09-08 13:43:24 · 611 阅读 · 0 评论 -
【算法日记】力扣206、24、19
给你单链表的头节点head,请你反转链表,并返回反转后的链表。链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?原创 2024-09-07 01:29:14 · 371 阅读 · 0 评论 -
[Algorithm]力扣 209.长度最小的子数组
通过右边缘不断通过for循环前进,代表的是在最大的当前索引下的符合题目要求的情况,每次与result做对比,总保证result为最小。[numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:target = 7, nums = [2,3,1,2,4,3]输入:target = 4, nums = [1,4,4]解释:子数组 [4,3] 是该条件下的长度最小的子数组。优点:时间复杂度降低。原创 2024-08-21 15:17:14 · 326 阅读 · 0 评论
分享