自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 问答 (1)
  • 收藏
  • 关注

原创 java基本知识详解

定义。

2024-02-04 23:54:22 1139

原创 一文学会Axios的使用

Promise 的编程模型依然充斥着大量的 then 方法,虽然解决了回调地狱的问题,但是在语义方面依然存在缺陷,代码中充斥着大量的 then 函数,这就是 async/await 出现的原因。浏览器页面在发送请求给服务器,在服务器处理请求的过程中,浏览器页面不能做其他的操作。异步发送请求过程如下浏览器页面发送请求给服务器,在服务器处理请求的过程中,浏览器页面还可以做其他的操作。相信到了这里,大家对axios的基础使用有了基本的了解,接下来,我们就好好研究一下我们的。我们的入门案例中就使用的是get请求。

2024-02-04 23:51:55 1479

原创 算法每日一题: 使用循环数组所有元素相等的最少秒数 | 哈希

读题,我们可以知道,一个元素,一次可以将相邻的两个元素下标变为自己的,所以每一秒我们可以影响相邻元素。大家好,我是星恒,今天给大家带来的是一道需要感觉规律的题目,只要读懂题目中的规律,就可以做出来了。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!如果大家有什么思考和问题,可以在评论区讨论,也可以私信我,很乐意为大家效劳。也就是说,变成相等元素所需要的 最少 秒数,就是两个相邻相同元素的。这样做的目的是可以让首尾相连,感觉首元素和尾元素相邻了。

2024-02-04 23:47:43 922

原创 算法每日一题: 石子游戏 | 一维数组合体为二维简化写法 | 倒序排序写法 | 多层嵌套时,三目运算符的写法 | 两个数组轮流取数组实现 | 一维数组合体为二维简化写法

2024-02-04 23:45:17 369

原创 算法每日一题: Nim游戏 | 找规律

假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false。这道题其实就是找规律,刚开始我还以为是动归,但是列举了不少例子之后,发现有自己直接的规律,ok,直接通过。哈哈,大家好,我是星恒,今天的每日一题真开心,连做了3天牢,终于ak了一道,太不容易了。这道题的本质就是找规律,大家多列举几个例子,其实答案就出来啦。期待大家和我有一样的体验哈!题目:leetcode 292。你和你的朋友,两个人一起玩。

2024-02-04 23:43:55 625

原创 算法每日一题: 最大合金数 | 二分

对于确定使用的机器,我们并没有什么好方法,我们只能通过遍历比较哪台机器在budget下的制造的数量最多,来侧面反应出哪个机器最多(这也是计算机的擅长的事)。因为制造数的范围是有限的,是10^8, 所以我们可以遍历可以制造数量的最大数,利用二分来优化:遍历使用的机器,当使用这个数量制造金属时,是否会超过预算。假设你是一家合金制造公司的老板,你的公司使用多种金属来制造合金。我们来分析一下他的时间复杂度:遍历每一种机器为n,遍历最大金数数(budget/cost),计算一份合金所需花费k。公司制造合金的数量。

2024-01-28 22:53:20 433

原创 算法每日一题: 边权重均等查询 | 公共子祖先

我们只需要贪心的让两个点之间所有边,变为边权重出现最多的次数的权重,例如寻找a和b两点间修改的最小次数,如果ab两点间所有边中,权重2出现的次数最多,我们就让所有边的值改为2,这样修改的次数就最少了。好,知道这一点,我们的问题就变成了寻找两点间所有权重中,哪个权重出现次数最多。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!大家好,我是星恒,今天给大家带来的是一道图里面有关公共子祖先的题目,理解起来简单,大家。题目:leetcode 2846。

2024-01-28 22:50:54 947

原创 算法每日一题: 计算K置位下标对应元素的和 | 位运算

这道题思路很简单,核心就是求数字的二进制数中的1的个数,我们只要依次计算二进制中的数字,然后将数字相加即可(因为数字只有0,1,我们计算1,0不影响结果)今天给大家带来的是一道位运算里的经典题目:计算数的二进制形式中1的个数,接下来让我们来彻底征服他!好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!方法5:直接用java内置的方法:Integer.bitCount()整数的二进制表示中的 1 就是这个整数的。方法3:n&(n - 1)

2024-01-28 22:49:29 508

原创 算法每日一题: 分割数组的最大值 | 动归 | 分割数组 | 贪心+二分

此外,我们还需要将 f[0][0]的值初始化为 0。如果 k≠0,对应的状态f[k][0] 是一个不合法的状态,无法进行转移。这道题假设我们把它分为四段,我们可以枚举最后一段出现的位置k,然后来看是前面的情况的最大值大(前面的最大值通过递归来求,我们这里默认知道前面情况的最大值),还是最后一段的最大值大,从而得到这种k情况下的最大值。比如上述情况,我们需要前4点分成3段时的情况(也就是分成三段的最优情况),同理,再往前推我们需要知道分成两段的最优情况,这样,我们从开始一步一步推就可以了。

2024-01-21 23:11:59 590

原创 算法每日一题:按分隔符拆分字符串 | 字符串 | 特殊位置判断

先简单说一下这道题思路:遍历每一个字符串,寻找separator字符,如果找到,就从这个节点到上一个节点的字符串截下来。是不是咋一眼挺好做,其实不然!给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。返回一个由拆分后的新字符串组成的字符串数组,题目:leetcode 2788。

2024-01-21 23:09:38 431

原创 Git与GitHub零基础教学

大家好,我是星恒,这个帖子给大家分享的是git和github的全套教程,包含github初始,git常用命令以及基本使用,git的ssh链接github,github使用token登录,github和idea的配合,一些平时常用的小技巧。此外,我还为此贴持续输入关于github运营的相关内容,欢迎大家和我一起成长!

2024-01-21 23:06:23 1675

原创 算法每日一题: 拿出最少数目的魔法豆 | 排序 | 越界 | 最大最小值技巧 | 枚举

这道题要求我们取出最少的魔法豆,观察示例我们可以发现,我们可以以某一个魔法豆的数量为基准,比这个魔法豆数量多的,就拿出一些魔法豆,使之和基准魔法豆的数量相等;由于最后得到的魔法豆数量是整数,所以很明显,我们计算剩余的魔法豆的数量更容易,我们只要计算出有几个数字比基准数字大就行,然后使用 **总数 - n(比基准数大的数字的数量) * 基准数 = 拿出魔法豆数 **以某个魔法豆数量为基准,依次比较其他魔法豆,得到拿出魔法豆的数量。他的思路很简单,但是其中的细节,很是值得我们思考和注意。

2024-01-18 22:39:43 444

原创 微服务入门 | 项目分割 | 远程调度Feign | 用户中心erueka 和 nacos

eureka工作流程调用者就是服务消费者,被调用的对象就是服务提供者。注册中心,就是我们将服务提供者的路径给存到注册中心中,当服务消费者每次调用对面的服务,就通过注册中心来访问对面的服务安装运行打开安装的nacos文件夹,在bin文件上建立终端页,输入以下语句启动访问nacos注册中心地址: http://127.0.0.1:8848/nacos/index.html#/login (账号密码都是nacos)如果读取不到,可以尝试将nacos注册中心中的内容删除,然后重新运行项目。

2024-01-17 23:51:17 1190

原创 算法每日一题: 最大字符串匹配数目 | 哈希 | 哈希表 | 题意分析

对于其它语言,我们可以存储字符串的哈希值,改为判断 words[i]\textit{words}[i]words[i] 的反转字符串的哈希值是否存在。哈希值需要保证不会冲突,本题中字符串的长度为 222 并且只包含小写字母,因此可以使用 100a+b100a + b100a+b 作为哈希值,其中 aaa 和 bbb 分别是两个字符的 ASCII\text{ASCII}ASCII 值。今天给大家带来的是hash,思路有好几种,需要注意的是这中简单的题目需要仔细看条件,往往他们有对应题目的特殊的解法。

2024-01-17 23:48:03 457

原创 算法每日一题: 删除排序列表中的重复元素2 | 循环 | 链表的删除 | 虚拟节点

由于我们是要删除,所以我们需要知道删除节点的前一个节点。我们遍历该链表,当遇到当前值的下一个值和下下个值相同时,把他们删除,并记录该值,然后看后面的情况。今天的题目是昨天题目的进化题,他对链表的删除加深了理解。最重要的是学会了对循环中的特殊部分的处理,还有设置虚拟节点的情况。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!如果大家有什么思考和问题,可以在评论区讨论,也可以私信我,很乐意为大家效劳。删除原始链表中所有重复数字的节点,只留下不同的数字。

2024-01-15 23:50:30 494

原创 算法每日一题: 删除排序列表中的重复元素 | 链表的删除

这道题目思路非常简单,使用双指针,一个指左,一个指右,然后依次向右移动,当左指针和右指针指向元素值相同时,删除右指针指向元素,右指针向右移动一个单位;今天给大家带来的是一道简单的链表删除题,题目很简单,不过可以帮助我们很好的复习链表的删除,尤其适合基础薄弱的友友们学习 ~这道题主要考查了链表的删除基本操作,他和插入的区别:插入有两个指针的操作,删除只需要一个指针即可。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!给定一个已排序的链表的头 head ,

2024-01-14 08:24:43 370

原创 算法每日一题:构造限制重复的字符串 | 字符串 | 数组与哈希联系

我们肯定时希望前面的字母越大越好,但是由于有连续出现次数的限制,所以我们在到达限制时,我们找到第二大的字母插入一个,然后继续插入当前最大的字母;如果在字符串 a 和 b 不同的第一个位置,字符串 a 中的字母在字母表中出现时间比字符串 b 对应的字母晚,则认为字符串 a 比字符串 b。而StringBuilder和StringBuffer,底层是char[]型,是变量,修改值,会在原来的空间直接修改。本题中,我们可以把字符串s中的字符存入hash中,键为26个字母,值为出现的次数,以方便我们随取随用;

2024-01-13 20:03:24 1066

原创 算法每日一题:统计出现过一次的公共字符串 | 哈希 | getOrDefault()

这道题的思路比较简单,就是分别将两个字符串数组的元素作为key存入map中,值为出现的次数,然后遍历某一个map,如果在自己的数组中出现的次数为1,并且在对方数组中出现过,并且在对方数组中也只出现过一次,那么,这个字符串计入 **数目 **中。今天给大家带来的又是一道经典的哈希的题目;这道题本身并不难,但他将getOrDefault()函数利用的简直不要太优雅了,很适合作为理解Map应用的学习题目。:**字符串 **在两个字符串数组中都出现,并且在各自的字符串数组中都只出现过一次。

2024-01-13 20:00:26 494

原创 算法每日一题:删除子串后的字符串最小长度 | 栈 | 字符串

依次遍历字符串的每一个元素,将遍历到的元素放到栈中,我们每次看栈的前两个元素,是否满足AB 或者 CD,如果满足,则出栈,这样就能保持栈中没有AB和CD字符串。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!通过执行操作,删除所有 “AB” 和 “CD” 子串,返回可获得的最终字符串的。,删除子串后,重新连接出的字符串可能会产生新的 “AB” 或 “CD” 子串。如果大家有什么思考和问题,可以在评论区讨论,也可以私信我,很乐意为大家效劳。

2024-01-13 19:57:48 449

原创 算法每日一题:字符串中的额外字符 | 动归 | 哈希 | 字符串

维护一个大小为s.length()的dp数组,遍历s中的每个字母(i),然后再从当前字母开始往前遍历(j),看i与j之间的字母构成的字符串是否在dictionary中,也就是能否构成一个单词,如果可以,我们比较现在这种分割造成的剩下字符最少,还是之前分割剩余数 + 1的剩下字符最少。呜呜呜,又是拖更的几天,这几天由于考试 + 放假,一直是只做没发的状态,今天就将这几天的每日一题都补回来啦!好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!不在任何子字符串中。

2024-01-13 19:55:14 469

原创 算法每日一题:回旋镖的数量 | 坐标距离 | 哈希

所以我们只要得到有多少个点和这个点距离相等,当然,由于相等距离也有好几种情况,所以我们使用hash将距离的情况存储起来,只要遇到和这种情况相同的,就将他的相等点 + 1。这道题目的意思是,让我们在给的points点中寻找3个点,这三个点可以构成回旋镖型,也就是v字型,某一点距离其他两个点的距离相等。是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等(好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!

2024-01-08 23:39:14 475

原创 拦截器HandlerInterceptor | springmvc系列

拦截器,通俗来来将,就是我们将访问某个路径的请求给拦截下来,然后可以对这个请求做一些操作。

2024-01-08 23:35:59 1128

原创 算法每日一题:赎金信 | 字符和整数

我们只要把26个字母使用数字 0 - 25表示出来,然后使用数组给字符串出现的字母计数,这样我们遍历第一个字符串magazine,存入字符串中字符出现次数,然后遍历ransomNote,减掉对应字符出现的次数,如果次数出现负数,那么说明magazine的字符不能全部包含ransomNote里面的字符!然后这里如果是算法新手,可能会在字符间相加减有一定的疑惑:加减后是否是ACSII整数,还是还是字符?好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!

2024-01-07 08:44:31 505

原创 算法每日一题:在链表中插入最大公约数 | 链表 | 最大公约数

hello,大家好,我是星恒今天的题目是有关链表和最大公约数的题目,比较简单,核心在于求解最大公约数,我们题解中使用辗转相除法来求解,然后我们会在最后给大家拓展一下求解最大公约数的四个方法,供大家学习。

2024-01-06 09:01:49 447

原创 算法每日一题:队列中可以看到的人数 | 单调栈

同样,由于前面的人,看不到被后面的人挡住的比其(后面的这个人)小的人,即使这个人比它小,所以我们可以直接把他抛弃掉,这样前面的人只要将栈里面比它小的人统计,就可以知道它可以看多少人了,当然,统计后出栈即可,因为它挡住了前面的视线(看比它小的人的视线)原因是这今天都计划上午写贴子,晚上发贴子,但是由于这几天回了家里,稍微有点忙,并且和在学校相比,有些许不适应,所以一直没有顾上发,但其实我每天都在坚持写,今天我们把我这周攒下的每日一题都发出来了,大家感兴趣的可以去看看,让我们一起进步 ~~~

2024-01-05 22:06:43 699

原创 算法每日一题: 被列覆盖的最多行数 | 二进制 - 状态压缩

没错,我们的大体思路也是这样,但是当我们衡量竖列情况是否可以覆盖横行使,我们需要遍历每个横行的元素,这无疑使我们的复杂度多了一个n;但由于他们的元素都是0,1(或者可以用0,1表示),这时,我们就很容易想到位运算里面的“ | ” (或)运算,我们只要将数列情况和横行情况一位或,如果位或后值不变,这样我们就能确定他全覆盖了。今天的题目又是一道有关二进制的题目,有我们之前做的那道 参加考试的最大学生数的 感觉,哈哈,当然,比那道题简单多了,这道题感觉主要的考点就是二进制,大家可以好好总结一下这道题目!

2024-01-05 21:59:45 651

原创 算法每日一题:从列表中移除节点 | 链表与栈

我刚开始想的是将链表遍历一遍,然后将比最后一个元素小的值都剔除一遍,然后再遍历剔除后的链表,剔除比倒数第2个值小的值,依次类推,直到剔除到头节点。在处理链表时,栈是一种非常常用的技巧,因为处理链表的一个难点,就是链表不容易从后往前访问,而栈恰好具有这种特征(出栈时,后面的先出),所以这不就一拍即合嘛!今天的题目是一道比较经典的链表题目,他涉及到链表的遍历,链表的创建,处理链表的常用方法,以及常用方法中使用栈的一系列常用技巧。本题我们使用栈的方法来解决,如果大家想了解其他方法,我在下面附了代码。

2024-01-05 21:57:51 639

原创 算法每日一题:统计重复个数 | 字符串

由此构造得到两个字符串,其中 str1 = [s1, n1]、str2 = [s2, n2]。这道的题意并不是很好理解,尤其这句:找出一个最大整数 m ,以满足 str = [str2, m] 可以从 str1 获得。其实就是将m个str2组合成的字符串,能够在str1中找到,言外之意,就是str1中有多少个str2。请你找出一个最大整数 m ,以满足 str = [str2, m] 可以从 str1 获得。好,我们先从图上来看一看,我们如何找到str1中的str2。题目:leetcode 466。

2024-01-05 21:55:46 538

原创 算法每日一题: 经营摩天轮的最大利润 | 模拟

然后比较利润的大小,取较大的值。当摩天轮转动结束后,停止模拟,此时如果还有人等待,计算最多人数4转动一次是否会亏损,如果亏损,停止,当前值就是最大值,不亏损,说明可以继续转下去4人的情况,即直接将剩余人数符合4人标准的情况的利润直接求出来;求完4的情况,如果此时还有不足4人的情况,单独拎出来求,看是否会亏损。注意,如果有超过 4 位游客在等摩天轮,那么只有 4 位游客可以登上摩天轮,其余的需要等待。祝大家元旦快乐,在新的一年里,学业进步,工作顺利,心想事成!如果不存在利润为正的方案,则返回 -1。

2024-01-05 21:54:06 317

原创 算法每日一题:一周中的第几天 | 日历类题目

大家好,我是星恒,已经连续5天没有发每日一题了,其实我每天都有写帖子的草稿,但是这几天学校考试,总是着急的写完就去看专业课了,一直没机会发出来,所以趁着这几天元旦休息,就一下将前面几天的每日一题发出来啦!思路就是算出现在到1971年有多少天,然后和7取余(当然,这里是将总天数为1971的附近几天的周一再取余),这样就做出来啦。这次的题目是有关年月日的,如果大家没做过这类型的题,这道题还是值得一看的;好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!

2023-12-30 15:44:03 484

原创 算法每日一题:购买两块巧克力 | 两个最小值的遍历

但是还有一个问题没有解决,就是我们如何知道这个最小值的下标,毕竟我们只能找到最小值,如果想知道他的下标,需要再次遍历寻找(这里不用担心有和最小值相同值的问题,因为无论设置了哪个最小值为最大值,第二次遍历都会遍历到另一个和最小值相同值的值),这种方法可行,但是时间会又加n,然后一看数组大小,誒,不大,好,那我们就可以使用“数组”哈希了,也就是将数组值设为数组的下标(索引),我们就可以直接通过值来找到他的索引,我们也就找到了最小值的索引啦!如果购买任意两块巧克力都超过了你拥有的钱,请你返回 money。

2023-12-30 15:38:19 380

原创 算法每日一题:保龄球游戏的获胜者

开始的整数数组 player1 和 player2 ,分别表示玩家 1 和玩家 2 击中的瓶数。今天的每一一题是一道简单题目,但是没能秒掉,原因就是题意理解不到位,边界问题没有判断清楚。不过这本来就是一个试错,迭代,积累经验的过程,加油加油,相信做多了,自然就可以秒掉啦!这道题最主要的事理解题意,注意他说的前两个元素为10,是说的任意元素的前两个元素。还有注意0,1的边界问题,要分类讨论,最后如果能合并就合并了。优化:(两种方式的本质是一样的,只是第二种的写法更优雅!玩家的得分是其 n 轮价值的总和。

2023-12-30 15:20:03 552

原创 算法每日一题:参加考试的最大学生数 | 动态规划 | 状态压缩

给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的(不可用),就用 ‘#’ 表示;学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷,但是看不到直接坐在他前面或者后面的学生的答卷。请你计算并返回该考场可以容纳的同时参加考试且无法作弊的 **最大 **学生人数。今天的题目竟然是一道困难题目,看着就不简单,我们的目标是:理解如何做 + 学一些思路!这次题目涉及的知识:动态规划,状态压缩(位运算)学生必须坐在状况良好的座位上。首先,我们说一下数据的存储。

2023-12-30 15:16:06 362

原创 算法每日一题:不浪费原料的汉堡制作方案 | 二元一次方程

请你以 [total_jumbo, total_small]([巨无霸汉堡总数,小皇堡总数])的格式返回恰当的制作方案,使得剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的数量都是 0。我们第一反应就是求得 x 和 y ,判断他们是否为整数,但是很明显,在java中,整数除以一个数,得到的是一个整数,因为他会自动向下取整,所以这个方法行不通。好啦,今天的每日一题到这里就结束了,如果大家觉得有用,可以可以给我一个小小的赞呢,我们下期再见!好,话不多说,我们直接来看题。

2023-12-25 10:19:20 337

原创 nginx下载安装 | mac | 前端项目在nginx上运行

大家好,我是星恒,今天给大家带来的是nginx的安装配置,以及如何在nginx运行前端项目的教程,话不多说,我们直接开始。

2023-12-25 10:17:29 1132

原创 GitHub和IDEA的配合使用 | Github获取token

在我们使用idea这类JetBrains公司的IDE连接github方便上传代码的时,我们如果是第一次使用,经常会陷入许多bug,在网上直接搜教程也没有具体能解决的;idea默认推送分支是master,但github在2021年改版后,将主分支默认设置为了main,所以我们需要现将github中的主分支修改为master。好啦,github与idea的纠缠就到这里啦,如果大家觉得写的还不错的话,可不可以给我一个小小的赞,我们下期在见!好,连接好后,我们就可以上传我们的代码啦!,下次你再打开就看不到了。

2023-12-24 19:19:36 1854

原创 算法每日一题:收集足够苹果的最小花园周长 | 数学公式

整数坐标 (i, j) 处的苹果树有 |i| + |j| 个苹果。fabs(x) 计算 x(高精度的double,float)的绝对值。给你一个整数 neededApples ,请你返回土地的。需要注意的是,要好好读题和画图,要不很容易就会陷入误区。你将会买下正中心坐标是 (0, 0) 的一块。2)的平方根,常用于计算三角形的斜边长。abs(x) 计算 x(整数)的绝对值。给你一个用无限二维网格表示的花园,pow(x,y) 计算x^y的值。sqrt(x) 计算x的平方根。hypot(x,y) 计算(x。

2023-12-24 19:16:45 360

原创 算法每日一题:得到山形数组的最少删除次数 | 动态规划 | 抛物线/山形曲线

这等价于,我们需要找出数组的一个最长的子序 列,并且这个子序列是一个「山形状数组」。和上一道题一样(如果大家没看,可以看看上到题的解释,更为详细),这道题也是抛物线的问题,遇到这种问题,首先想到的就是递归 + 分类递增递减曲线。发现了吧,这道题比之前的题难,昨天的dp只是使用了一下单调栈,而今天直接上了循环,时间复杂度就多了,很明显复杂度直线上升。今天的每日一题和昨天的每日一题有异曲同工之妙,区别在于在dp中,一个用的单调栈寻找之前的状态,一个使用循环遍历寻找。题目:leetcode 1671。

2023-12-22 11:10:48 339

原创 算法每日一题:美丽塔2 | 单调栈 | 动态规划 | 抛物线

因为很明显,最大值左/右侧的元素和计算是有联系的,然后我们就可以用动态规划啦)但是,如果前方并不是单纯的递增递减,如图所示,当前值是递减,但是他的元素和并不是我们刚才说的两种情况,我们还需要的得到x,来得到x前部分的元素和,即:x前元素和 + (max - x)* maxHeights[max]的元素一个一个放进去,然后将比当前元素大的出栈,小的留下,这样一来,栈的元素永远保持单调递增,而且当我们遇到上方的情况时,我们正好能将之前比当前值小的元素都留下来,这样一来,栈顶元素,就是我们想要的x,即。

2023-12-21 11:16:43 1171

原创 算法每日一题:判别首字母缩写词 | 集合 | 字符串

如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,“ab” 可以由 [“apple”, “banana”] 形成,但是无法从 [“bear”, “aardvark”] 形成。给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的。这道题就是简单的遍历,没啥好说的,考点就是看对字符串和集合基本操做。如果 s 是 words 的首字母缩略词,返回 true_问题:leetcode 2828。

2023-12-20 08:15:16 438

空空如也

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

TA关注的人

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