面试题 05.03. 翻转数位
一个dp问题(我又菜起来了)
curSum记录当前遇到的连续的1。 curSumF记录翻转过后最长的连续1。
遇到0
curSum置0。
curSumF置为curSum+1,表示连接了前面一段。
遇到1
curSum和curSumF都加1。
因为curSum始终记录这前面一段连续1,所以设置为curSum+1后,如果后面还连续,就会自动更新连接这两段,如果后面为1,那就会清空为仅翻转当前位。
1 | class Solution { |
类似滑动窗口