[プログラマー]コードテスト練習-練習問題3級最長のパリン症候群
1823 ワード
Solution.java class Solution
{
public int solution(String s)
{
int answer = 0;
for (int i = 0; i < s.length(); i++) {
int left = i, right = s.length() - 1;
int j = s.length();
while (left <= right) {
if (s.charAt(left) != s.charAt(right)) {
left = i;
j = right;
}
else {
left++;
}
right--;
}
if (j - i > answer) answer = j - i;
}
return answer;
}
}
文字列の長さは最大2500なのでn^2です.
効率性はすべて合格したが,正確性では3つ間違えた.
原因が分からない.また挑戦しよう
例外がある.しかし、例外の解決にはタイムアウトが発生します.
文字列アルゴリズムを勉強した後、もう一度解きます.
Solution.JAva(修正) class Solution
{
public int solution(String s)
{
int answer = 0;
for (int i = 0; s.length() - i > answer; i++) {
for (int j = s.length(); j - i > answer; j--) {
int left = i, right = j - 1;
boolean b = true;
while (left <= right) {
if (s.charAt(left) != s.charAt(right)) {
b = false;
break;
}
left++;
right--;
}
if (b) answer = j - i;
}
}
return answer;
}
}
for文の終了条件を変更して解決しました.
出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges
Reference
この問題について([プログラマー]コードテスト練習-練習問題3級最長のパリン症候群), 我々は、より多くの情報をここで見つけました
https://velog.io/@hye07on11/프로그래머스-코딩테스트-연습-연습문제-Level-2-가장-긴-팰린드롬
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class Solution
{
public int solution(String s)
{
int answer = 0;
for (int i = 0; i < s.length(); i++) {
int left = i, right = s.length() - 1;
int j = s.length();
while (left <= right) {
if (s.charAt(left) != s.charAt(right)) {
left = i;
j = right;
}
else {
left++;
}
right--;
}
if (j - i > answer) answer = j - i;
}
return answer;
}
}
class Solution
{
public int solution(String s)
{
int answer = 0;
for (int i = 0; s.length() - i > answer; i++) {
for (int j = s.length(); j - i > answer; j--) {
int left = i, right = j - 1;
boolean b = true;
while (left <= right) {
if (s.charAt(left) != s.charAt(right)) {
b = false;
break;
}
left++;
right--;
}
if (b) answer = j - i;
}
}
return answer;
}
}
for文の終了条件を変更して解決しました.出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges
Reference
この問題について([プログラマー]コードテスト練習-練習問題3級最長のパリン症候群), 我々は、より多くの情報をここで見つけました https://velog.io/@hye07on11/프로그래머스-코딩테스트-연습-연습문제-Level-2-가장-긴-팰린드롬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol