改变眼泪的理由
改变眼泪的理由
全部文章
分类
归档
标签
去牛客网
登录
/
注册
改变眼泪的理由的博客
全部文章
(共44篇)
题解 | #左旋转字符串#
//这题比较简单的做法是用额外的空间来做。但用原地空间进行操作才更有挑战。 //同样,只要把需要左移的部分字符串,和不需要左移的部分字符串,分别反转后,再反转整个字符串,即可完成。 class Solution { public: void reversestr(string &...
2023-07-30
0
293
题解 | #翻转单词序列#
//先把每个单词内部局部反转,然后再整体反转即可。 class Solution { public: string ReverseSentence(string str) { int begin,end=0; while(end<str.size()) ...
2023-07-30
0
301
题解 | #替换空格#
//看到这题第一时间能想到一些思路。比如从前往后进行原地替换——这样每次替换后都要向后移动大量元素,时间复杂度是n^2(准确来说是n*k,取决于空格的数量)。 //另一个思路是开辟一个新字符串,每次遇到空格后都写入%20,其他时候则正常写入。这样做的缺点是要额外花On的空间。 //代码随想录提供了一...
2023-07-30
0
318
题解 | #兑换零钱(二)#
#include <vector> class Solution { public: //完全背包-种数-组合数 //dp[j]:总金额为j,在nums存储的硬币面额中,有dp[j]种 组合 方式。 //递推公式:求种数的问题,递推公式为dp[j]=dp[j] +...
2023-07-20
0
521
题解 | #分割等和子集#
#include <vector> class Solution { public: //dp[j]:容量为j的背包中能装下的物品的最大价值为dp[j],在本题中j的最大值是数组和的一半,当dp[j]=j,也就是正好有一种情况,能满足让某些数字构成数组和的一半时,剩下的数字自然也...
2023-07-19
0
373
题解 | #跳台阶#
class Solution { public: //dp[i]:i代表爬几层楼梯,dp[i]代表爬i层楼梯一共有几种方法 //递推公式:dp[i]可由dp[i-1]爬一步,dp[i-2]跨两步这两种得到,因此和斐波那契的公式一样。 //初始化:dp[0]不作讨论,dp[...
2023-07-16
0
363
题解 | #不同路径的数目(一)#
#include <vector> class Solution { public: //dp[i][j]:从[0,0]走到[i,j]一共有多少种路径 //递推公式:dp[i][j]=dp[i-1][j] + dp[i][j-1] (i和j都要大于0) //初始化...
2023-07-16
0
338
题解 | #最小花费爬楼梯#
#include <algorithm> #include <vector> class Solution { public: //dp[i]:到达第i层台阶所需的最小cost总和。而cost[i]指的是从第i层楼梯起步所需要的cost,支付cost后能爬1~2步。 //递推...
2023-07-16
0
340
题解 | #两个链表的第一个公共结点#
#include <cstdlib> //两种解法,比较常规的就是快慢指针,先算出两条链表的长度,然后让快指针指向长的那一条,让它先走delta步,接着再快慢指针一起走,这样就能正好走到入口处了。 class Solution { public: ListNode* FindFi...
2023-07-15
0
252
题解 | #反转链表#
//将链表节点摘下来挂在链表头部的解法。 class Solution { public: ListNode* ReverseList(ListNode* head) { ListNode* p=new ListNode(-1); if(head==nullptr ||...
2023-07-15
0
275
首页
上一页
1
2
3
4
5
下一页
末页