Kotlin刷题常用范式

22 阅读1分钟

Kotlin刷题常用范式(持续更新)

1. 问题背景

目前使用Kotlin开发,大多是有Java、C++等类C语言基础的。对于想使用Kotlin通关Leetcode等OJ平台时,常常需要借鉴熟悉语言的思路来过渡。实际上,Kotlin与Java等现代语言做了一定的调整,具有一定的门槛。对此,基于本人入门Kotlin后的经验,总结部分语言对应的范式。

2. 具体公式

2.1. 静态变量

静态变量,在Kotlin中可以通过伴随对象模拟。

class Solution {
    compaion object {
       const val MILLIS = 1000
    }
    
    fun method() {
        println("static value is $MILLIS")
    }
}

2.2. 浮点数转换

Leetcode刷题,常常遇到大数求余的场景,最经典的数值为1e9+7,其类型为浮点数。

要使其转换为Int类型,可以:

class Solution {
    compaion object {
       const val MOD = (1e9 + 7).toInt()
    }
}

2.3. 列表

实现不可变列表,可以:

val ints = intArrayOf(1, 2, 3)
val doubles = doubleArrayOf(0.1, 0.2)
val mat = arrayOf(intArrayOf(1, 2, 3), intArrayOf(3, 4, 5))

实现可变列表,可以

val ints = ArrayList<Int>()
ints.add(1)

2.4. 哈希表

实现可变哈希表,可以:

val countMap = mutableMapOf<Int, Int>()
countMap.put(1, 2)

2.5. 持续更新中