Kotlin 如何更改代码,使其位于一行中
此代码搜索字符串中至少出现在两个单词中的字符 例如: 输入:你好,世界 输出:lo 我不知道如何将这段代码转换成一行代码,这可能吗? 我刚刚开始学习Kotlin编程语言,所以我请求帮助Kotlin 如何更改代码,使其位于一行中,kotlin,Kotlin,此代码搜索字符串中至少出现在两个单词中的字符 例如: 输入:你好,世界 输出:lo 我不知道如何将这段代码转换成一行代码,这可能吗? 我刚刚开始学习Kotlin编程语言,所以我请求帮助 fun main() { var s = readLine(); var w = Array(128){0} var g = Array(128){0} if(s!=null) { for(c in s) {
fun main() {
var s = readLine();
var w = Array(128){0}
var g = Array(128){0}
if(s!=null)
{
for(c in s)
{
if(c.toInt() != 32)
{
w[c.toInt()] = 1
}
for(k in 0..127)
{
if(w[k] == 1)
{
g[k] += 1
w[k] = 0
}
}
}
}
//for last word
for(k in 0..127)
if (w[k] == 1)
{
g[k] += 1
w[k] = 0
}
//PRINT
for(k in 0..127)
{
if(g[k] > 1) print(k.toChar())
}
}
也许有更好的编程方法是的,但是将其更改为单行代码有什么意义呢?它不会让你的程序更快,也不会让你的程序更可读。@Andrew这个算法,最快的,可能比一行代码更可读,我只是想把它缩短到一行。不,我认为这是不可能的。如前所述,有一些方法可以更好地编写上述编写的代码,但不是一行一行。我建议您深入学习kotlin编程。@Andrew使用助手函数filter、map、reduce-这不可能吗?除了输入和输出。这段代码做什么?使用有意义的变量名称可能有更好的编程方法是的,但是将其更改为单行代码有什么意义呢?它不会让你的程序更快,也不会让你的程序更可读。@Andrew这个算法,最快的,可能比一行代码更可读,我只是想把它缩短到一行。不,我认为这是不可能的。如前所述,有一些方法可以更好地编写上述编写的代码,但不是一行一行。我建议您深入学习kotlin编程。@Andrew使用助手函数filter、map、reduce-这不可能吗?除了输入和输出。这段代码做什么?使用有意义的变量名称你能帮我再问一个关于Kotlin编程的问题吗?@roxyashechka Okey,需要等待90分钟(非常好的答案! 代码比问题更容易阅读和理解! (它也比较短,但这是一个有用的副作用,而不是一个目标本身。)你能帮我再问一个关于Kotlin编程的问题吗?@roxyashechka Okey,需要等待90分钟(很好的答案! 代码比问题更容易阅读和理解! (它也比较短,但这与其说是一个目标本身,不如说是一个有用的副作用。)
fun main() {
val input = readLine() ?: return
val result = input.split(" ")
.flatMap { it.toSet() }
.groupBy { it }
.filterValues { it.size > 1 }
.keys
.joinToString(separator = "")
println(result)
}