blog

javascriptは、文字を繰り返すことなく最長部分文字列を実装する

\n {\n let str = ''\n let arr = [].\n let target = [].\n for {\n もし...

Jul 17, 2020 · 1 min. read
シェア

javascriptが繰り返し文字なしで最長部分文字列を実装

lengthOfLongestSubstring (s) {
 let str = ''
 let arr = []
 let target = []
 for (let i of s) {
 if (str.indexOf(i) < 0) {
 str += i
 } else {
 arr.push(str)
 str = i
 }
 }
 arr.push(str)
 //  
 arr.sort((a, b) => {
 return b.length - a.length
 })
 // 同じ長さの部分集合が複数ある場合
 arr.forEach(list => {
 if (arr[0].length === list.length) {
 target.push(list)
 }
 })
 console.log(target)
}
// target 内容は、同じ長さの1個またはn個の部分集合を含む結果である。
lengthOfLongestSubstring("laijinxianzxcvbnm") // ["ianzxcvb"] 1の最長部分集合は
lengthOfLongestSubstring("dsauhdahfufansdmn") // ["fansdm"] 1の最長部分集合は
lengthOfLongestSubstring("laijinxianzxcvbnm") // ["qwert", "tyuio", "oasdf"] 3サブセットの長さは同じである
Read next

[MyBatis] SQLスプライシングプロシージャ

抽象的すぎるので、完全なポイントを追加します。 最後に、クラスをパラメータとして受け取る selectOne() メソッドで、sql 文をつなぎ合わせて返します。 エンティティ・クラスと別のデータベース・テーブル間の変換として使用される ,...

Jul 17, 2020 · 3 min read