Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-10-15 21:11:33
今天跟昨天的怎么都宝宝题
这样跟我说是medium
2938. Separate Black and White Balls
有n个球,分成黑色和白色
1是黑色、0是白色
每一次可以把相邻的两颗球互换
请问最少要几次可以把白球全部放在左边、黑球全部在右边?
思路:
用two pointer
左指标从0开始右指标从n-1开始
左指标就去找黑球
右指标找白球
都找到后答案加上左右指标相减的值
就这样一直做下去就可以得到答案了
C code :
long long minimumSteps(char* s) {
int l=0,r=strlen(s)-1;
long long ans=0;
while (r>l){
while(l<r && s[l]!='1'){
l++;
}
while (l<r && s[r]!='0'){
r

Links booklink

Contact Us: admin [ a t ] ucptt.com