力扣(LeetCode)763
生活随笔
收集整理的這篇文章主要介紹了
力扣(LeetCode)763
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目地址:
https://leetcode-cn.com/probl...
題目描述:
字符串 S 由小寫字母組成。我們要把這個(gè)字符串劃分為盡可能多的片段,同一個(gè)字母只會(huì)出現(xiàn)在其中的一個(gè)片段。返回一個(gè)表示每個(gè)字符串片段的長度的列表。
示例 1:
輸入: S = "ababcbacadefegdehijhklij"
輸出: [9,7,8]
解釋:
劃分結(jié)果為 "ababcbaca", "defegde", "hijhklij"。
每個(gè)字母最多出現(xiàn)在一個(gè)片段中。
像 "ababcbacadefegde", "hijhklij" 的劃分是錯(cuò)誤的,因?yàn)閯澐值钠螖?shù)較少。
解答:
這是一個(gè)典型的合并區(qū)間問題,我們可以記錄每個(gè)字符的最小起點(diǎn)和最大終點(diǎn),這樣每個(gè)字符就形成了一個(gè)存在區(qū)間。把交叉的區(qū)間不斷擴(kuò)大,然后并保存,最后輸出所有合并后的區(qū)間的重點(diǎn)-起點(diǎn)+1。
java ac代碼:
總結(jié)
以上是生活随笔為你收集整理的力扣(LeetCode)763的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式--简单工厂模式
- 下一篇: 一个“Internal”牵扯出的代码泄露