当前位置:网站首页>1529. Minimum number of suffix flips
1529. Minimum number of suffix flips
2022-07-06 16:08:00 【mrbone9】
Address :
Power button
https://leetcode-cn.com/problems/minimum-suffix-flips/
subject :
Give you a length of n 、 Subscript from 0 Starting binary string target . You have another length of n Binary string of s , At first, everyone was 0 . You want to make s and target equal .
In one step , You can choose the subscript i(0 <= i < n) And flip on Closed interval [i, n - 1] All bits in . Flipping means '0' Turn into '1' , and '1' Turn into '0' .
Return to make s And target Equal the minimum number of flips required .
Example 1:
| Input :target = "10111" Output :3 explain : first ,s = "00000" . Select subscript i = 2: "00000" -> "00111" Select subscript i = 0: "00111" -> "11000" Select subscript i = 1: "11000" -> "10111" To achieve the goal , You need at least 3 Time flip . |
Example 2:
| Input :target = "101" Output :3 explain : first ,s = "000" . Select subscript i = 0: "000" -> "111" Select subscript i = 1: "111" -> "100" Select subscript i = 2: "100" -> "101" To achieve the goal , You need at least 3 Time flip . |
Example 3:
| Input :target = "00000" Output :0 explain : because s Already equal to the goal , So no operation is required |
Tips :
| n == target.length 1 <= n <= 105 target[i] by '0' or '1' |
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/minimum-suffix-flips
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Ideas :
First of all, flip the figure under the hand animation , Finding the law
such as :10111
00000
00111
01000
10111
If you can't see clearly for the time being , On the contrary, you can see clearly , Change the topic to how to change a string into 0 The number of times
Then from left to right , We saw 1, You have to do a flip , Then next , It happens to be in reverse order
But how to implement the code ? A little bit of a problem
Then watch , If the intermediate element is adjacent and of the same type , Such as fellow 1, Or both 0
When we flip, we actually flip together , Then we can regard these same types as only one
such as :1010001, Let's reverse the order
| 1010001 | 0101110 |
| 0101110 | 0010001 |
| 0010001 | 0001110 |
| 0001110 | 0000001 |
| 0000001 | 0000000 |
After optimization, it is :10101 Flip of
The exact number of flips is Of this string 1 Starting length ,
If it is 0 Opening remarks :00110, In fact, it is seen as 10, The length is 2
If you don't believe it, you can try
When such a rule is found, it is much easier to implement the code
Method 1 、 Count the number of strings
int minFlips(char * target){
char *s = target;
int cnt = 0;
int i =0;
char prev = '0';
while(s[i])
{
if(s[i] != prev)
{
cnt++;
prev = s[i];
}
i++;
}
return cnt;
}边栏推荐
- Information security - security professional name | CVE | rce | POC | Vul | 0day
- JS调用摄像头
- [exercise-1] (UVA 673) parentheses balance/ balanced brackets (stack)
- Opencv learning log 14 - count the number of coins in the picture (regardless of overlap)
- Pyside6 signal, slot
- Data storage in memory & loading into memory to make the program run
- Shell脚本编程
- C language must memorize code Encyclopedia
- Opencv learning log 18 Canny operator
- Borg Maze (BFS+最小生成树)(解题报告)
猜你喜欢

信息安全-威胁检测引擎-常见规则引擎底座性能比较

渗透测试 2 --- XSS、CSRF、文件上传、文件包含、反序列化漏洞

【高老师软件需求分析】20级云班课习题答案合集

Penetration test (7) -- vulnerability scanning tool Nessus

Analyse du format protobuf du rideau en temps réel et du rideau historique de la station B

C language is the watershed between low-level and high-level

1903. Maximum odd number in string

Penetration test (3) -- Metasploit framework (MSF)

Penetration testing (5) -- a collection of practical skills of scanning King nmap and penetration testing tools
![[analysis of teacher Gao's software needs] collection of exercises and answers for level 20 cloud class](/img/3b/dc43564a36f82e73826b08f39c935e.png)
[analysis of teacher Gao's software needs] collection of exercises and answers for level 20 cloud class
随机推荐
[teacher Gao UML software modeling foundation] collection of exercises and answers for level 20 cloud class
Shell脚本编程
【高老师UML软件建模基础】20级云班课习题答案合集
渗透测试 ( 1 ) --- 必备 工具、导航
Ball Dropping
China's peripheral catheter market trend report, technological innovation and market forecast
Interval sum ----- discretization
快速转 TypeScript 指南
对iptables进行常规操作
树莓派CSI/USB摄像头使用mjpg实现网页摄像头监控
[exercise-7] (UVA 10976) fractions again?! (fraction split)
Opencv learning log 33 Gaussian mean filtering
【练习-6】(PTA)分而治之
MySQL授予用户指定内容的操作权限
【练习-4】(Uva 11988)Broken Keyboard(破损的键盘) ==(链表)
渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集
The most complete programming language online API document
Penetration test 2 --- XSS, CSRF, file upload, file inclusion, deserialization vulnerability
信息安全-威胁检测-NAT日志接入威胁检测平台详细设计
栈的经典应用—括号匹配问题