Skip to content

Commit d14243c

Browse files
add Sherlock and the valid string - medium
1 parent 1b1288e commit d14243c

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package hackerRank.interviewPreparationKit.stringManipulation
2+
3+
import java.util.*
4+
5+
fun isValid(s: String): String? {
6+
val letters = IntArray(26)
7+
for (element in s) {
8+
letters[element - 'a']++
9+
}
10+
11+
Arrays.sort(letters)
12+
var i = 0
13+
14+
while (letters[i] == 0) {
15+
i++
16+
}
17+
18+
val min = letters[i]
19+
val max = letters[25]
20+
var ret = "NO"
21+
22+
if (min == max) ret = "YES" else {
23+
if (max - min == 1 && max > letters[24] ||
24+
min == 1 && letters[i + 1] == max) ret = "YES"
25+
}
26+
return ret
27+
}
28+
29+
fun main(args: Array<String>) {
30+
println(isValid("ibfdgaeadiaefgbhbdghhhbgdfgeiccbiehhfcggchgghadhdhagfbahhddgghbdehidbibaeaagaeeigffcebfbaieggabcfbiiedcabfihchdfabifahcbhagccbdfifhghcadfiadeeaheeddddiecaicbgigccageicehfdhdgafaddhffadigfhhcaedcedecafeacbdacgfgfeeibgaiffdehigebhhehiaahfidibccdcdagifgaihacihadecgifihbebffebdfbchbgigeccahgihbcbcaggebaaafgfedbfgagfediddghdgbgehhhifhgcedechahidcbchebheihaadbbbiaiccededchdagfhccfdefigfibifabeiaccghcegfbcghaefifbachebaacbhbfgfddeceababbacgffbagidebeadfihaefefegbghgddbbgddeehgfbhafbccidebgehifafgbghafacgfdccgifdcbbbidfifhdaibgigebigaedeaaiadegfefbhacgddhchgcbgcaeaieiegiffchbgbebgbehbbfcebciiagacaiechdigbgbghefcahgbhfibhedaeeiffebdiabcifgccdefabccdghehfibfiifdaicfedagahhdcbhbicdgibgcedieihcichadgchgbdcdagaihebbabhibcihicadgadfcihdheefbhffiageddhgahaidfdhhdbgciiaciegchiiebfbcbhaeagccfhbfhaddagnfieihghfbaggiffbbfbecgaiiidccdceadbbdfgigibgcgchafccdchgifdeieicbaididhfcfdedbhaadedfageigfdehgcdaecaebebebfcieaecfagfdieaefdiedbcadchabhebgehiidfcgahcdhcdhgchhiiheffiifeegcfdgbdeffhgeghdfhbfbifgidcafbfcd"))
31+
}

0 commit comments

Comments
 (0)