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

免费制作企业网站平台怎样做 云知梦 网站

免费制作企业网站平台,怎样做 云知梦 网站,动漫制作专业就业前景,网站销售怎么推广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/a/396654.html

相关文章:

  • 计算机网站建设招聘阿里巴巴网站的搜索引擎优化案例
  • 常州网站快速排名优化我的世界做壁纸网站
  • 您的网站未备案wordpress视差插件
  • 亚马逊做网站发礼物换评价宝安做棋牌网站建设有哪些公司
  • 做网站怎么找客户联系方式网站建设的重点是什么
  • datadata.asp 网站 破解西安高端网站制作公司哪家好
  • 电商运营自学网站网站开发游戏程序开发
  • 淘宝客网站用什么软件做cdn wordpress 统计
  • 黑龙江省建设教育网站查询想找可以在家做的手工活去什么网站
  • php 外贸商城网站建设网上怎么查自己的房屋结构图
  • 最专业的企业营销型网站建设公司生成图片
  • html企业网站源码软件开发公司专业的有哪些
  • 三门峡网站建设电话wordpress 此网页包含重定向循环
  • 合肥电子商务开发网站建设jsp网站开发实例视频教程
  • 天津公司网站建设如何评价一个网站设计的好坏
  • 网站建设的电话回访郑州做网站优化电话
  • seo网站建设步骤做洗衣液的企业网站
  • 网站开发建设招聘要求seo外包品牌
  • 张家港营销型网站建设很多搜索词网站怎样做
  • 网站改造设计方案邢台网站建设最新报价
  • 水利建设工程网站seodao cn
  • wordpress备份文件在哪随州抖音seo收费标准
  • 电子商务网站建设前的分析北京官网首页
  • 国外网站代做重庆网站建设公司电话
  • 金坛网站优化国际新闻最新消息十条摘抄
  • 网站建设的思想北京的广告公司有哪些
  • 固安县建设局网站中文域名 网站
  • wordpress站点标题和副标题广告策划
  • Redis分布式缓存第二篇
  • 网站建设人员组织网站做区块链然后往里面投钱