リートコード-522。最長の珍しいサブシーケンスII



Leetcode 522 Longest Uncommon Subsequence Ii



タイトルオリジナル

https://leetcode.com/problems/longest-uncommon-subsequence-ii/description/

タイトル説明

この質問。 。理解する。 。 。もっと元気になります。 。 。
文字列配列を指定すると、この文字列配列を返します 最長の非公開文字列の長さ 。ここで、非公開文字列は、文字列全体が別の文字列の部分文字列であるかどうかを比較する場合にのみ使用できることに注意してください。そうである場合、この文字列を非公開文字列にすることはできません。その理由は比較的わかりやすいです。文字列Aの部分文字列bが最長の非公開部分文字列である場合、bはAの公開部分文字列であるため、質問の意味を満たしていません。非公開の文字列が最も長いものを見つけるだけです



  • 2つのループ、最初のループは文字列配列から文字列を取得して、それが別の文字列の部分文字列であるかどうかを判断します。そうでない場合は、タイトルを満たし、その長さを取得します。

ACコード

class Solution { public int findLUSlength(String[] strs) { int length = strs.length int max = -1 for(int i = 0 i <length i++) { boolean flag = true for(int j = 0 j <length j++) { if(i != j && isSub(strs[i], strs[j])){ flag = false break } } if(flag == true) max = Math.max(max, strs[i].length()) } return max } //Determine whether string1 is a substring of string2 private boolean isSub(String string1, String string2) { if(string1.length() > string2.length()) return false int index = 0 for(int i = 0 i length() i++) { if(index == string1.length()) return true if(string1.charAt(index) == string2.charAt(i)) { index ++ } } return index == string1.length() } }

感謝

https://blog.csdn.net/zsensei/article/details/75227927