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

leetcode 3228 将1移动到末尾的最大操作次数

一、题目描述

二、解题思路

整体思路

可以采用找规律+贪心算法来解决这个问题。从左向右处理,遇到'1'右边的'0'时,就更新step的值为step+=count_one;

具体思路

由于一次操作可以让当前位置的'1'移动字符末端或者另一个'1',所以要使得操作次数最多,我们就要保证操作尽可能多地被打断,即我们应该从最左边的'1'开始依次向右操作

遍历字符串s:

<1>如果i位置为0且i+1位置为1,则i前面的1需要移动过来,其移动次数为i之前'1'的数量:

if(s[i]=='0'&&s[i+1]=='1') step+=count_one;

<2>如果i位置为字符串末尾,且s[i]=='0',就需要将i之前的所以1全部移动:

//如果s的最后一位是0,那么需要将前面所有的1后移

            if(i==s.size()-1&&s[i]=='0') step+=count_one;

<3>如果s[i]=='1',就更新count_one的值,count_one++;

三、代码实现

class Solution {
public:int maxOperations(string s) {int count_one=0;int step=0;for(int i=0;i!=s.size();i++){if(s[i]=='0'&&s[i+1]=='1') step+=count_one;//如果s的最后一位是0,那么需要将前面所有的1后移if(i==s.size()-1&&s[i]=='0') step+=count_one;if(s[i]=='1') count_one++;}return step;}
};

http://www.dtcms.com/a/607091.html

相关文章:

  • 贵州最好的网站建设推广公司天津建设
  • 能源企业 网站建设学校门户网站建设的优势
  • RunLoop 深度解析
  • 如何来建设网站青岛建设集团招工信息网站
  • 1688采购系统:批量下单自动下单功能实现
  • 网站服务器cpu占用多少要升级工业信息化部网站备案
  • 手机网站模块一直免费的服务器下载
  • 实战:爬取汽车之家车型参数对比的技术指南
  • 网站后台怎么控制护理专业简历制作
  • DP 转光纤:捷米特 JM-DP-FIBER-S-A/B-R 转换器汽车焊接产线应用案例
  • 驭见未来,服务致胜:2025中国汽车终端服务体验洞察报告
  • 京东商品评论 API 返回数据解析指南:从嵌套 JSON 到结构化评论信息
  • 给别人开发一个网站多少钱大型外贸商城网站建设
  • 对于数据结构:链式二叉树的超详细保姆级解析—上
  • 石家庄红酒公司 网站建设资讯门户网站 dede
  • 【MySQL】内外链接和数据库索引
  • HOT100题打卡第38天——贪心算法
  • 力扣热题100道前55道,内容和力扣官方稍有不同,记录了本人的一些独特的解法
  • RDP登录事件详细溯源分析脚本(兼容Windows PowerShell版本)
  • 贪心算法实验1
  • 怎样做一个网站电子商务平台的类型
  • 好的网站建设公司哪家好北京优化推广公司
  • 易语言模块反编译与破解技术解析 | 深入理解反编译的原理与应用
  • 网站开发是哪个营销方案策划书
  • 用ps做一份网站小程序在线制作模板
  • Vite 7 + React 19 升级清单
  • 微网站怎么建设wordpress餐饮
  • 中国建设银行社保卡网站wordpress看板猫
  • 动易网站中添加邮箱seo推广主要做什么
  • 网站建设教程吧百度收录入口提交