kotlin 如何使用first()和last()来解决这个问题?

eqoofvh9  于 2023-05-01  发布在  Kotlin
关注(0)|答案(1)|浏览(121)

假设你有一个2D列表inputList,它的维度大于或等于2。按以下顺时针顺序打印其所有角元素:从左到右和从上到下。
在一行中打印两个元素的结果。使用单个空格分隔同一行上的两个元素。

fun main() {
    // Do not touch code below
    val inputList: MutableList<MutableList<String>> = mutableListOf()
    val n = readLine()!!.toInt()
    for (i in 0 until n) {
        val strings = readLine()!!.split(' ').toMutableList()
        inputList.add(strings)
    }
}
mepcadol

mepcadol1#

这听起来像是一个家庭作业的问题,所以我不会告诉你怎么做。但这里有一些问题你可以回答(为自己),希望能帮助你理解你在做什么,并使它更容易回答你自己的问题。

  • 当你输入你的数据时,结果的数据结构是什么样子的?你使用的是List s -你最终得到了什么列表,它们是如何组织的?也许使用一组3x 3的输入值(你可以做1-9,像数独),并计算出你最终得到了什么,以及这些值的去向
  • 一旦你完成了这一步,你将如何访问每一行的第一个或第二个值呢?你如何访问9 x9网格中的中间数字?如果你有一个给定的rowcolumn,你需要对列表结构做什么来得到你需要的单元格?
  • 如果你掌握了窍门,剩下的就很容易了。行和列的角在哪里?如果first()last()给予了列表中的第一个和最后一个项目,那么它与行和列有什么关系呢?你能用这些函数得到角吗?

祝你好运!

相关问题