Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/10/15 21:11), 編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串990/1548 (看更多)
今天跟昨天的怎麼都寶寶題 這樣跟我說是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--; } ans+=(long long)(r-l); r--; l++; } return ans; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.212.87 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1728997896.A.D36.html

10/15 21:33, 1年前 , 1F
別捲了
10/15 21:33, 1F
文章代碼(AID): #1d3ce8qs (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1d3ce8qs (Marginalman)