![](https://img-blog.csdnimg.cn/direct/37a7c9579fc741a2b414e65087bdb27d.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
备战秋招c++
文章平均质量分 79
通过解析算法题目,寻找做题思路,锻炼代码能力和思维能力,扩展代码视野。
自由のミカサ
我要把算法题,一个不留地驱逐出去!
展开
-
备战秋招c++ 【持续更新】
要使得当前i位置的花费最小,则要对比从前一层跳过来的最低花费和从前两层跳过来的。因为prev1 和 prev2 这两个变量已经记录了信息,strs遍历完的元素不会再次遍历,所以可以省去构建数组的这一步。因为下标从0开始,可以从0也可以从1开始跳,而刚站上这层楼梯时是不需要花费的,往上跳才需要支付这层的花费。2、暴力解法,先固定一个字符串str1,然后再搜索str2,计算两个字符串间的距离,并与记录的最短距离进行比较。1、确定状态表示:dp[i]表示 以i位置为结尾,从0或1下标开始到这个位置的最小花费。原创 2024-05-27 23:59:37 · 809 阅读 · 0 评论 -
备战秋招 c++算法训练【自用】
2、思考优化:如果用栈存储符合要求的字符,最后取出字符串时,需要再整体进行字符串逆序,才是正确的返回值。可以用string来模拟栈,因为stl中的string支持尾插尾删,且string.back()可以查看尾部元素,即相当于查看栈顶元素。4、确定去重思路:将一个数组的元素存在与否信息存入哈希表,遍历第二个数组,遍历的每一个元素都判断一次是否已经存在于原来的哈希表,a、如果存在,说明是公共元素,将这个元素放入将要返回的数组中。字母才能消除,相同不相邻,不相同但相邻的字母不行 ---- 涉及字母的匹配。原创 2024-05-22 22:54:37 · 407 阅读 · 0 评论