java算法題解Leetcode763劃分字母區(qū)間示例
題目
字符串 S 由小寫字母組成。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現(xiàn)在一個片段中。返回一個表示每個字符串片段的長度的列表。
示例: 輸入:S = "ababcbacadefegdehijhklij" 輸出:[9,7,8] 解釋: 劃分結(jié)果為 "ababcbaca", "defegde", "hijhklij"。 每個字母最多出現(xiàn)在一個片段中。 像 "ababcbacadefegde", "hijhklij" 的劃分是錯誤的,因為劃分的片段數(shù)較少。
提示: S的長度在[1, 500]之間。 S只包含小寫字母 'a' 到 'z' 。
解題思路
1)解決問題的根本在于,找到一個區(qū)間,這個區(qū)間內(nèi)的字符,沒有在其他區(qū)間出現(xiàn)過
2)那我們就想找到這個區(qū)間的開始位置、結(jié)束位置,針對這個區(qū)間的每個字符,如果字符出現(xiàn)的lastIndex大于當(dāng)前統(tǒng)計到的stop,則stop更新為此邊界,直到遍歷到這個stop邊界,證明此次遍歷,start->stop這個區(qū)間內(nèi),已經(jīng)包含所有重復(fù)字符
import java.util.ArrayList; import java.util.List; class Solution { public List<Integer> partitionLabels(String s) { List<Integer> res = new ArrayList<Integer>(); if (s == null || s.length() == 0) { return res; } int start = 0, stop = 0; for (int i = start; i < s.length(); i++) { if (s.lastIndexOf(s.charAt(i)) > stop) { stop = s.lastIndexOf(s.charAt(i)); } if (i == stop) { res.add(stop - start + 1); start = i + 1; } } return res; } }
以上就是java算法題解Leetcode763劃分字母區(qū)間示例的詳細(xì)內(nèi)容,更多關(guān)于java算法劃分字母區(qū)間的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
idea數(shù)據(jù)庫驅(qū)動下載失敗的問題及解決
這篇文章主要介紹了idea數(shù)據(jù)庫驅(qū)動下載失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截功能
這篇文章主要介紹了SpringBoot基于過濾器和內(nèi)存實現(xiàn)重復(fù)請求攔截,這里我們使用過濾器的方式對進(jìn)入服務(wù)器的請求進(jìn)行過濾操作,實現(xiàn)對相同客戶端請求同一個接口的過濾,需要的朋友可以參考下2023-01-01SpringBoot+hutool實現(xiàn)圖片驗證碼
本文主要介紹了SpringBoot+hutool實現(xiàn)圖片驗證碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08解決使用mybatis-plus時,生成的SQL大寫變小寫加下劃線問題
這篇文章主要介紹了解決使用mybatis-plus時,生成的SQL大寫變小寫加下劃線問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Spring Boot 中的 Spring Cloud Feign的原
Spring Cloud Feign 是 Spring Cloud 中的一個組件,它可以幫助我們實現(xiàn)聲明式的 REST 客戶,這篇文章主要介紹了Spring Boot 中的 Spring Cloud Feign,需要的朋友可以參考下2023-07-07解決redisTemplate中l(wèi)eftPushAll隱性bug的問題
這篇文章主要介紹了解決redisTemplate中l(wèi)eftPushAll隱性bug的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Java class文件格式之?dāng)?shù)據(jù)類型_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java class文件格式之?dāng)?shù)據(jù)類型的相關(guān)資料,需要的朋友可以參考下2017-06-06