当前位置:网站首页>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;
}边栏推荐
- 渗透测试 ( 1 ) --- 必备 工具、导航
- Nodejs+vue网上鲜花店销售信息系统express+mysql
- 渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
- 渗透测试 ( 7 ) --- 漏洞扫描工具 Nessus
- Nodejs crawler
- Opencv learning log 31 -- background difference
- 【练习-4】(Uva 11988)Broken Keyboard(破损的键盘) ==(链表)
- Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
- frida hook so层、protobuf 数据解析
- 【练习-7】Crossword Answers
猜你喜欢

渗透测试 ( 4 ) --- Meterpreter 命令详解

Borg Maze (BFS+最小生成树)(解题报告)

Ball Dropping

TCP's three handshakes and four waves

Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack

C language learning notes
Frida hook so layer, protobuf data analysis

信息安全-史诗级漏洞Log4j的漏洞机理和防范措施

Information security - threat detection engine - common rule engine base performance comparison

1903. Maximum odd number in string
随机推荐
X-forwarded-for details, how to get the client IP
Ball Dropping
区间和------离散化
C basic grammar
渗透测试 ( 4 ) --- Meterpreter 命令详解
Analysis of protobuf format of real-time barrage and historical barrage at station B
Opencv learning log 24 -- Hough transform 2 (maximum interval and minimum length can be limited)
【练习-7】Crossword Answers
b站 实时弹幕和历史弹幕 Protobuf 格式解析
Opencv learning log 27 -- chip positioning
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
C language learning notes
Interval sum ----- discretization
快速转 TypeScript 指南
Opencv learning log 12 binarization of Otsu method
7-1 懂的都懂 (20 分)
Opencv learning log 18 Canny operator
B - Code Party (girls' competition)
Opencv learning log 19 skin grinding
基于web的照片数码冲印网站