当前位置: 首页 > news >正文

遂宁网站建设东莞seo关键词排名优化排名

遂宁网站建设,东莞seo关键词排名优化排名,网络营销推广方法选择,个人简历 网站开发题目 力扣第2390. 从字符串中移除星号 中等 给你一个包含若干星号 * 的字符串 s 。 在一步操作中#xff0c;你可以#xff1a; 选中 s 中的一个星号。移除星号 左侧 最近的那个 非星号 字符#xff0c;并移除该星号自身。 返回移除 所有 星号之后的字符串。 注意你可以 选中 s 中的一个星号。移除星号 左侧 最近的那个 非星号 字符并移除该星号自身。 返回移除 所有 星号之后的字符串。 注意 生成的输入保证总是可以执行题面中描述的操作。可以证明结果字符串是唯一的。 示例 1 输入s leet**cod*e 输出lecoe 解释从左到右执行移除操作 - 距离第 1 个星号最近的字符是 leet**cod*e 中的 t s 变为 lee*cod*e 。 - 距离第 2 个星号最近的字符是 lee*cod*e 中的 e s 变为 lecod*e 。 - 距离第 3 个星号最近的字符是 lecod*e 中的 d s 变为 lecoe 。 不存在其他星号返回 lecoe 。 示例 2 输入s erase***** 输出 解释整个字符串都会被移除所以返回空字符串。提示 1 s.length 105s 由小写英文字母和星号 * 组成s 可以执行上述操作 思路和解题方法一不行超内存 首先创建一个栈st用于存储非星号字符。然后遍历字符串s中的每个字符 如果当前字符是星号*并且栈st不为空则将栈顶的元素弹出表示移除星号左侧最近的非星号字符。如果当前字符不是星号则将其入栈st。创建一个空字符串result用于存储最终结果。最后从栈底到栈顶依次弹出字符将每个字符拼接到result的前面。返回result作为最终的结果字符串。 这段代码使用了栈的特性通过判断当前字符是否是星号以及栈是否为空来实现移除星号左侧最近的非星号字符的操作。最后将栈中剩余的字符拼接成结果字符串返回。 复杂度 时间复杂度: O(n) 其中n是字符串的长度。在遍历过程中每个字符最多入栈和出栈一次因此栈的操作总体上可以看作是线性时间复杂度的。所以总的时间复杂度为O(n)。 空间复杂度 O(n) 算法使用了一个栈来存储非星号字符栈的大小最坏情况下可能与输入字符串的长度相同。 c 代码 class Solution { public:std::string removeStars(string s) {stackchar st; // 创建一个栈用于存储非星号字符for (char c : s) { // 遍历字符串s中的每个字符if (c * !st.empty()) { // 如果当前字符是星号且栈不为空则将栈顶元素弹出表示移除星号左侧最近的非星号字符st.pop();} else if (c ! *) { // 如果当前字符不是星号则将其入栈st.push(c);}}string result; // 创建一个空字符串用于存储最终结果while (!st.empty()) { // 从栈底到栈顶依次弹出字符将每个字符拼接到result的前面result st.top() result;st.pop();}return result; // 返回最终结果字符串} }; 思路和解题方法二 首先我们定义了两个指针i和j。i是慢指针指向当前要处理的字符j是快指针用于遍历字符串。同时我们也记录了字符串的长度n int n s.length(); int i 0; // 慢指针指向当前要处理的字符 int j 0; // 快指针用于遍历字符串 接下来我们开始遍历字符串。对于每一个字符如果它是星号我们需要移除星号左侧最近的非星号字符。我们可以通过将慢指针i往前移动来找到最近的非星号字符直到遇到一个非星号字符或者到达字符串开头。注意我们需要判断i是否大于0以避免数组越界错误。然后我们将慢指针i再往前移动一位即移除了最近的非星号字符 if (s[j] *) {// 找到星号时移除星号左侧最近的非星号字符while (i 0 s[i-1] *) {i--;}if (i 0) {i--; // 移除非星号字符} }如果当前字符不是星号我们将其放到当前慢指针i的位置并同时移动慢指针i和快指针j else {// 非星号字符将其放到当前慢指针的位置s[i] s[j];i; } j; 最后我们返回从字符串开头到慢指针i的子串即移除了所有星号之后的字符串。注意这里需要使用substr函数获取子串其第一个参数是子串的起始位置第二个参数是子串的长度 return s.substr(0, i); 复杂度 时间复杂度: O(n) 时间复杂度是O(n)其中n是输入字符串的长度。因为我们需要遍历整个字符串一次来处理每个字符。 空间复杂度 O(1) 空间复杂度是O(1)因为我们只使用了常数个变量来保存指针和临时变量没有使用额外的数据结构。 c 双指针 代码 class Solution { public:std::string removeStars(string s) {stackchar st; // 创建一个栈用于存储非星号字符for (char c : s) { // 遍历字符串s中的每个字符if (c * !st.empty()) { // 如果当前字符是星号且栈不为空则将栈顶元素弹出表示移除星号左侧最近的非星号字符st.pop();} else if (c ! *) { // 如果当前字符不是星号则将其入栈st.push(c);}}string result; // 创建一个空字符串用于存储最终结果while (!st.empty()) { // 从栈底到栈顶依次弹出字符将每个字符拼接到result的前面result st.top() result;st.pop();}return result; // 返回最终结果字符串} }; 觉得有用的话可以点点赞支持一下。 如果愿意的话关注一下。会对你有更多的帮助。 每天都会不定时更新哦  人  。
http://www.zqtcl.cn/news/535343/

相关文章:

  • 网站优化建设河南手机模拟器
  • 网站建设运维标准深圳企业vi设计公司
  • 做网站怎么挣钱中小型企业网站建设
  • 深圳如何搭建建网站学校网站的建设与应用
  • 免费推广网站入口2023燕wordpress看图插件
  • 网站做不做301四川省住建设厅网站
  • 优化方案官网电子版一个网站做两个优化可以做吗
  • 企业网站排名提升软件智能优化上海网站制作的费用
  • 建分类信息网站西安高端模板建站
  • 南昌做网站哪家好成都三合一网站建设
  • 中国市政建设局网站做外单网站
  • 做本地网站赚钱吗wordpress 预约系统
  • 国外做名片网站优化网站最好的刷排名软件
  • 江西建设部网站网易企业邮箱密码格式
  • 网站哪个服务器好软装设计培训机构
  • 夜间正能量网站入口免费下载2022最新泛站群程序
  • 网站建设个人简历wordpress手写字体
  • 专门做商标的网站有哪些wordpress新文章加new
  • 全国商务网站大全木樨园网站建设公司
  • 网站搜索排名和什么有关系嘉兴建设局网站
  • 创建免费网站注意事项电商网站建设价格低
  • 网站开发接私单企业软文范例
  • 浙江省建设培训中心网站首页wordpress如何修改上传文件大小
  • 网站建设需要什么语言学完html怎么做网站
  • 国内外网站建设wordpress评论嵌套样式修改
  • 广州网站制作系统市场监督管理局投诉电话
  • 局域网建网站的详细步骤海南省建设网站的公司
  • 长沙市网站建设推广绵阳网站推广排名
  • 美容手机网站模板招标
  • 怎样用虚拟主机建网站访客可以用微信回复wordpress