給你一串由0跟1組成的字串 問你子字串中恰好包含k個1的子字串有幾個 假設例子 01010 那麼先設一個陣列儲存i之前的1有幾個 也就是 s[i]= 01122 然後再利用這些數字當作索引直,表示從頭開始產生i的方法有幾種(all) 所以只要s[i]超過k的話 ans+=all[s[i]-k] 代表說 整個的組合數有幾個,因為之後的數字確定都一定要 所以減掉這些數字剛好就是s[i]-k的組合數,也不能少於s[i]-k因為s[i]-k也有一個重要的1不能碰到 // // GGGGGGGGGGGGG CCCCCCCCCCCCC AAA // GGG::::::::::::G CCC::::::::::::C A:::A // GG:::::::::::::::G CC:::::::::::::::C A:::::A // G:::::GGGGGGGG::::G C:::::CCCCCCCC::::C A:::::::A // G:::::G GGGGGG C:::::C CCCCCC A:::::::::A //G:::::G C:::::C A:::::A:::::A //G:::::G C:::::C A:::::A A:::::A //G:::::G GGGGGGGGGGC:::::C A:::::A A:::::A //G:::::G G::::::::GC:::::C A:::::A A:::::A //G:::::G GGGGG::::GC:::::C A:::::AAAAAAAAA:::::A //G:::::G G::::GC:::::C A:::::::::::::::::::::A...