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

商洛市城乡建设规划局网站西安网络推广运营公司

商洛市城乡建设规划局网站,西安网络推广运营公司,商城网站定制建设价位,个人做搜索引擎网站违法吗2712. 使所有字符相等的最小成本 给你一个下标从 0 开始、长度为 n 的二进制字符串 s ,你可以对其执行两种操作: 选中一个下标 i 并且反转从下标 0 到下标 i(包括下标 0 和下标 i )的所有字符,成本为 i 1 。 选中一个…

2712. 使所有字符相等的最小成本

给你一个下标从 0 开始、长度为 n 的二进制字符串 s ,你可以对其执行两种操作:
选中一个下标 i 并且反转从下标 0 到下标 i(包括下标 0 和下标 i )的所有字符,成本为 i + 1 。
选中一个下标 i 并且反转从下标 i 到下标 n - 1(包括下标 i 和下标 n - 1 )的所有字符,成本为 n - i 。
返回使字符串内所有字符 相等 需要的 最小成本 。
反转 字符意味着:如果原来的值是 ‘0’ ,则反转后值变为 ‘1’ ,反之亦然。
示例 1:
输入:s = “0011”
输出:2
解释:执行第二种操作,选中下标 i = 2 ,可以得到 s = “0000” ,成本为 2 。可以证明 2 是使所有字符相等的最小成本。
示例 2:
输入:s = “010101”
输出:9
解释:执行第一种操作,选中下标 i = 2 ,可以得到 s = “101101” ,成本为 3 。
执行第一种操作,选中下标 i = 1 ,可以得到 s = “011101” ,成本为 2 。
执行第一种操作,选中下标 i = 0 ,可以得到 s = “111101” ,成本为 1 。
执行第二种操作,选中下标 i = 4 ,可以得到 s = “111110” ,成本为 2 。
执行第二种操作,选中下标 i = 5 ,可以得到 s = “111111” ,成本为 1 。
使所有字符相等的总成本等于 9 。可以证明 9 是使所有字符相等的最小成本。
提示:
1 <= s.length == n <= 105
s[i] 为 ‘0’ 或 ‘1’

题解

首先翻译一下题目

对于一个二进制字符串,我们可以对其做两种操作

  1. 以下标 0为开头选择一个子串,对子串的所有数取反
  2. 以下标 n-1为结尾选择一个子串,对子串的所有数取反

操作取反多少个数,也就是选择的子串的长度是多少,操作的成本便是多少

题目需要求解经过任意操作使字符串所有数相等需要的最小成本

问题思考

对于字符串中的任意位置 s[ i ] ,假设其前面,也就是 0 到 s[ i-1 ] 的所有字符都是经过操作后相等的,那么如果 s[ i ] 与 s[ i-1 ] 相等,不需要任何操作;如果不相等,就必须要操作,要么操作 0 到 s[ i-1 ] 要么 s[ i ] 到 s[ n-1 ] ,为了使成本最少,选择最短的即可

那么我们便可以遍历字符串 s ,遇到 s[ i-1] 与 s[ i ] 不相等便进行操作,记录成本,遍历结束便是答案

脑筋急转弯

我们需要认识到,对于一个二进制字符串,将所有的数进行取反,数字之间是否相同仍旧是不变的,即 ‘01’ 取反后为 ‘10’,仍旧不相同

那么根据这点,我们可以对上述思考过程进行优化

当遍历到 s[ i-1 ] 与 s[ i ] 不相同的时候,我们只需要找到少的那一段即 min(i,n-i),然后直接进行下一次遍历即可,不需要真正进行取反的操作,因为是否取反对数字之间是否相同没有任何影响


代码如下↓

long long minimumCost(char* s) {int n=strlen(s);long long res=0;for(int i=1;i<n;i++){if(s[i-1]!=s[i]){res+=i<n-i?i:n-i;}}return res;
}
http://www.dtcms.com/wzjs/508030.html

相关文章:

  • 做论坛网站需要多少钱软文营销文章案例
  • 自己做图片的网站链接搜索引擎网站排名优化方案
  • 做一个公司网站网络推广合作协议
  • 做网站主机几个配件长沙网站seo公司
  • 电商网站可以用dw做网站功能
  • wordpress评论邮件回复插件开鲁seo服务
  • 铁岭网站建设百度搜索广告投放
  • 网站一直维护意味着什么南宁最新消息今天
  • asp网站建设公司郑州seo服务技术
  • avada如何做像谷歌的网站济南网站万词优化
  • 用什么做淘宝客网站好seo网站优化课程
  • 建设网站哪家公司好广东seo推广
  • 网站开发哪些专业万词优化
  • 阿里妈妈 网站建设不完整武汉百度信息流广告
  • 国际物流网站建设360网站推广费用
  • 网站后台管理系统cms广州疫情最新消息今天封城了
  • 一台服务器做两个网站网上售卖平台有哪些
  • 定西市建设厅官方网站百度关键词优化平台
  • 企业网站开发的背景和意义南昌seo数据监控
  • 无锡网站建设和网站建设运营
  • 青岛抖音广告seo官网优化怎么做
  • wordpress 导航站模板下载网站排名优化方法
  • 建网站做站长百度营销推广官网
  • ps做产品的网站草莓永久地域网名入2022
  • 安徽静安集团网站建设国内搜索引擎优化的公司
  • 网站建设与安全管理新媒体运营培训班
  • 重庆专门做网站的公司百度信息流广告代理
  • 郑州app软件定制开发关键词优化排名
  • g4560做网站服务器北京刚刚宣布比疫情更可怕的事情
  • 网站负责人拍照优化网站快速排名软件