Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2025-06-06 22:48:44
2434. Using a Robot to Print the Lexicographically Smallest String
题目 :
给你两个字串s、t,t是一个空的字串
请遵从以下规则使s、t都变成空字串
(1) 移除s的第一个char,并将这个char加到t的最后面
(2) 移除t的最后一个char,并将这个char写到纸上
请回传写在纸上按照字母序排列最小的字串
思路 :
如果i后面还有char比s[i]还小,那就只能把s[i]丢到t而不能把s[i]写到纸上
反之如果i后面没有char比t最后面的chat还小,那就把t最后的char写到纸上
用一个array纪录排在i之后最小的char
开始遍历s,直到处理完s的最后一个char
再来把t里面剩下的所有char写到纸上
就可以得到答案了
C++
class Solution {
public:
string robotWithString(string s)
{
int n = s.size();
vector<char> minCharAfter(n);
string t, ans;
minCharAfter[n - 1] = s[n - 1];
for (int i = n - 2; i > -1; i

Links booklink

Contact Us: admin [ a t ] ucptt.com