File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * @lc app=leetcode id=443 lang=kotlin
3
+ *
4
+ * [443] String Compression
5
+ */
6
+ class Solution_compress_0 {
7
+ fun compress (cs : CharArray ): Int {
8
+ var chars = cs
9
+ var i = 0
10
+ var j = 1
11
+ var l = chars.size - 1
12
+
13
+ ((i + 1 ).. l).forEach { idx ->
14
+ if (chars[idx] == chars[i]) {
15
+ j++
16
+ } else {
17
+ if (j > 1 ) {
18
+ val charArray = j.toString().toCharArray()
19
+ charArray.forEachIndexed { index, char ->
20
+ chars[i + 1 + index] = char
21
+ }
22
+
23
+ chars[i + 1 + charArray.size] = chars[idx]
24
+ i = i + 1 + charArray.size
25
+ } else {
26
+ chars[i + 1 ] = chars[idx]
27
+ i = i + 1
28
+ }
29
+
30
+ j = 1
31
+ }
32
+ }
33
+
34
+ if (j > 1 ) {
35
+ val charArray = j.toString().toCharArray()
36
+ charArray.forEachIndexed { index, char ->
37
+ chars[i + 1 + index] = char
38
+ }
39
+
40
+ i = i + charArray.size
41
+ }
42
+
43
+ return i + 1
44
+ }
45
+ }
You can’t perform that action at this time.
0 commit comments