結果
問題 | No.273 回文分解 |
ユーザー |
|
提出日時 | 2015-11-28 03:31:47 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 318 ms / 2,000 ms |
コード長 | 1,783 bytes |
コンパイル時間 | 13,545 ms |
コンパイル使用メモリ | 445,744 KB |
実行使用メモリ | 51,100 KB |
最終ジャッジ日時 | 2024-11-20 04:40:40 |
合計ジャッジ時間 | 25,989 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
コンパイルメッセージ
Main.kt:6:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^ Main.kt:49:14: warning: variable 'ch' is never used for ((i, ch) in inputStr.withIndex()) { ^
ソースコード
package Yukicoder/*** Created by hichikawa on 2015/11/12.*/fun main(args: Array<String>) {fun readLineLongArray(): List<Long> {val str = readLine() as Stringval arrStr = str.split(" ")val ret = arrStr.map { it.toLong() }return ret}fun readLineLong(): Long {val str = readLine() as Stringreturn str.toLong()}fun readLineInt(): Int {val str = readLine() as Stringreturn str.toInt()}fun readLineIntArray() : List<Int> {val str = readLine() as Stringval arrStr = str.split(" ")val ret = arrStr.map { it.toInt() }return ret}fun readLineDoubleArray(): List<Double> {val str = readLine() as Stringval arrStr = str.split(" ")val ret = arrStr.map { it.toDouble() }return ret}fun checkKai(str : String , startIndex : Int, endIndex : Int) : Boolean{for (i in 0..((endIndex-startIndex)/2)) {if (str.get(startIndex+i) != str.get(endIndex-i)) {return false}}return true}val inputStr = readLine() as Stringvar maxI = Int.MIN_VALUEfor ((i, ch) in inputStr.withIndex()) {// var lastIndex = inputStr.lengthvar lastIndex = if (i != 0) inputStr.length else inputStr.length-1do {lastIndex = inputStr.lastIndexOf(inputStr[i], lastIndex-1)if (checkKai(inputStr, i, lastIndex)) {// println((lastIndex-i).toString() + " " + i + " " + lastIndex)if (maxI <= (lastIndex-i)) {maxI = lastIndex-i+1}break}} while (i < lastIndex)}println(maxI)}