File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
src/main/java/HackerRank/interviewPreparationKit/stringManipulation Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments