ARTS打卡 - 2023-02-W2

97 阅读1分钟

Algorithm

判定是否互为字符重排

class Solution {
    public boolean CheckPermutation(String s1, String s2) {
        int[] list = new int[26];
        for (int i = 0; i < s1.length(); i++) {
            int cur = s1.charAt(i) - 'a';
            list[cur] += 1;
        }
        for (int i = 0; i < s2.length(); i++) {
            int cur = s2.charAt(i) - 'a';
            list[cur] -= 1;
        }
        for (int i = 0; i < 26; i++) {
            if (list[i] != 0) {
                return false;
            }
        }
        return true;
    }
}

Review

Google I/O 2019 年的协程演讲:www.youtube.com/watch?v=_hf…

Tip

在 Kotlin 中,如果用 * 修饰一个集合,比如 *list,它表示将列表的元素作为独立的参数传递给函数。 这种语法称为 "可变参数",允许将一个列表作为若干个独立参数传递。

例如:

fun printNumbers(vararg numbers: Int) {
    for (number in numbers) {
        print("$number ")
    }
}

val numbers = listOf(1, 2, 3, 4)
printNumbers(*numbers.toIntArray()) // Output: 1 2 3 4

上面的代码定义了一个 printNumbers 函数,它接受一个 vararg 类型的参数 numbers,并将其打印出来。 然后,我们创建了一个 numbers 列表,并使用 * 运算符将它作为可变参数传递给了 printNumbers 函数。

Share

Android中的协程常用姿势