1529. 最少的后缀翻转次数-贪心算法
算法 贪心 次数 后缀 翻转 最少
2023-09-14 09:06:52 时间
1529. 最少的后缀翻转次数
给你一个长度为 n 、下标从 0 开始的二进制字符串 target 。你自己有另一个长度为 n 的二进制字符串 s ,最初每一位上都是 0 。你想要让 s 和 target 相等。
在一步操作,你可以选择下标 i(0 <= i < n)并翻转在 闭区间 [i, n - 1] 内的所有位。翻转意味着 ‘0’ 变为 ‘1’ ,而 ‘1’ 变为 ‘0’ 。
返回使 s 与 target 相等需要的最少翻转次数。
示例 1:
输入:target = “10111”
输出:3
解释:最初,s = “00000” 。
选择下标 i = 2: “00000” -> “00111”
选择下标 i = 0: “00111” -> “11000”
选择下标 i = 1: “11000” -> “10111”
要达成目标,需要至少 3 次翻转。
示例 2:
输入:target = “101”
输出:3
解释:最初,s = “000” 。
选择下标 i = 0: “000” -> “111”
选择下标 i = 1: “111” -> “100”
选择下标 i = 2: “100” -> “101”
要达成目标,需要至少 3 次翻转。
示例 3:
输入:target = “00000”
输出:0
解释:由于 s 已经等于目标,所以不需要任何操作
这题看似很难,其实还是很简单的,解题代码如下:
int minFlips(char * target){
int count=0;
int i=0;
int start=0;
while(target[i]!='\0'){
if(target[i]-'0'!=start){
count++;
start=(start+1)%2;
}
i++;
}
return count;
}
相关文章
- Python ---- 算法入门(1)贪心算法解决部分背包问题
- 五分钟搞定贪心算法,从此不惧大厂面试
- 算法书上都没写,背包问题为什么不能用贪心法解?
- KMP算法:next和nextval值计算
- 怎么算图中有多少个三角形_贪心算法经典例题
- ZooKeeper的Paxos算法[通俗易懂]
- 产品能力|算法学习笔记-贪心算法基础
- 贪心算法及几个经典例子c语言_贪心算法一定是最优解吗
- 《算法竞赛进阶指南》0x07 贪心
- 最大子列和问题(四种算法)
- jvm可达性分析算法_对点网络
- 机器学习算法: AdaBoost 详解
- Go 常见算法面试题篇(二):在 O(1) 时间内删除单链表结点
- 数据结构与算法
- JavaScript刷LeetCode-贪心算法
- A-LOAM代码算法
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-贪心算法
- BAT面试算法进阶- 最长的斐波那契子序列的长度(暴力法)
- 【Android 逆向】Android 系统文件分析 ( cmdline 系统启动参数文件 | crypto 密码算法信息文件 | devices 设备信息文件 )
- 2023-04-08:社交网络中的最优邀请策略探究。本文以小红准备开宴会为例,提出一种基于贪心算法和二分查找的解决方案,帮助读者在保证愉悦值不低于k的前提下,最
- 贪心算法在电脑监控软件中的利弊
- 百度官方“闪电算法”解读详解程序员
- 算法-二叉搜索树与双向链表详解编程语言
- Linux系统磁盘调度算法研究(linux磁盘调度算法)
- Redis实现雪花算法高效生成唯一ID(redis 雪花id)
- 稳健运算Redis贪心算法实现优化(redis贪心算法)
- JAVA算法起步之插入排序实例
- 采用C++实现区间图着色问题(贪心算法)实例详解