首页 > 其他分享 >day8打卡

day8打卡

时间:2024-08-30 20:27:04浏览次数:5  
标签:begin slow string day8 ++ int 打卡 size

反转字符串中的单词

class Solution {
public:
string reverseWords(string s)
{
int slow = 0;
int i = 0;
while(i < s.size())
{
if(s[i] != ' ')
{
if(slow != 0)
{
s[slow++] = ' ';
}
while(i < s.size() && s[i] != ' ')
{
s[slow++] = s[i++];
}
}
else
{
++i;
}
}
s.resize(slow);
reverse(s.begin(), s.end());
i = 0;
int j = 0;
while(j < s.size())
{
if(s[j] == ' ')
{
reverse(s.begin() + i, s.begin() + j);
j++;
i = j;
}
else
{
++j;
}
}
reverse(s.begin() + i, s.begin() + j);

    return s;
}

};

右旋字符串

include

include

using namespace std;

class Solution
{
public:
void rotateStr(string s, int k)
{
int i = 0;
int j = 0;
for(int a = 0; a < k; ++a)
{
++j;
}
while(j < s.size())
{
++i;
++j;
}
string str1 = s.substr(i, j);
string str2 = s.substr(0, i);
cout << str1 << str2 << endl;
}
};

int main()
{
int k = 0;
cin >> k;
string s;
cin >> s;
Solution solution;
solution.rotateStr(s, k);
return 0;
}

标签:begin,slow,string,day8,++,int,打卡,size
From: https://www.cnblogs.com/pwangikun/p/18389436

相关文章

  • day7打卡
    反转字符串利用双指针不断向中间靠拢,交换数据classSolution{public:voidreverseString(vector&s){intleft=0;intright=s.size()-1;while(left<right){chartmp='\0';tmp=s[left];s[left++]=s[right];s[right--]=tmp;}}};反转字符串II......
  • 代码随想录训练营 Day42打卡 动态规划 part09 188.买卖股票的最佳时机IV 309. 最佳买
    代码随想录训练营Day42打卡动态规划part09一、力扣188.买卖股票的最佳时机IV给你一个整数数组prices和一个整数k,其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。也就是说,你最多可以买k次......
  • Datawhale X 李宏毅苹果书AI夏令营 Task1打卡
    3.1局部极小值与鞍点3.1.1临界点及其分类参数对于损失函数的微分为零时,就无法进一步优化了,训练即停止了。所以我们把这些梯度为零的点统称为临界点。临界点可以分为两类:极值点(局部极小值)和鞍点。鞍点就是指那些梯度为零但不是局部极小值或者局部极大值的点,因为其在损失......
  • 代码训练营 Day8 | 344.反转字符串 | 541.反转字符串II |
    344.反转字符串使用双指针一个指针指向数组开始的位置,一个指针指向数组结束的位置通过循环让两个指针元素相互交换知道两个指针碰到一起classSolution(object):defreverseString(self,s):""":types:List[str]:rtype:NoneDonotretur......
  • 企业微信如何远程打卡,免费
    现在一些定位软件不好用或者要收费,那么如何能够很好的免费实现远程打开呢?首先需要一个不用的旧手机,一直放在公司里,然后拿自己常用手机远程操作来实现,具体步骤如下:旧手机需要打开开发者模式,然后打开屏幕常亮保证不会锁屏;公司电脑下载scrcpy用来操作连接的旧手机;下载地址......
  • day8字符串:344.反转字符串|541. 反转字符串II|卡码网:54.替换数字
    344.ReverseStringclassSolution{//extrao1spacepublicvoidreverseString(char[]s){intleft=0;intright=s.length-1;while(left<right){chartemp=s[left];s[left]=s[right];......
  • apk机器(手机,打卡机,录像机)连接电脑 常用adb操作命令
    adb简介adb的全称为AndroidDebugBridge,就是起到调试桥的作用。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。借助adb工具,我们可以管理设备的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android与PC......
  • day6打卡
    四数相加classSolution{public:intfourSumCount(vector&nums1,vector&nums2,vector&nums3,vector&nums4){unordered_map<int,int>umap;for(intnum1:nums1){for(intnum2:nums2){umap[num1+num2]++;}}intcount=0;for(int......
  • day4打卡
    两两交换链表中的节点一开始有错误,找不出来,但是gdb真好用Definitionforsingly-linkedlist.structListNode{intval;ListNode*next;ListNode():val(0),next(nullptr){}ListNode(intx):val(x),next(nullptr){}ListNode(intx,ListNode*n......
  • day5打卡
    有效的字母异位词classSolution{public:boolisAnagram(strings,stringt){intrecord[26]={0};for(inti=0;i<s.size();++i){record[s[i]-'a']++;}for(inti=0;i<t.size();++i){record[t[i]-'a']--;}for(inti=0;i......