zoukankan      html  css  js  c++  java
  • [HackerRank] Dynamic Array

    /**
     * https://www.hackerrank.com/challenges/dynamic-array/problem
     * */
    class DynamicArray {
    
        var lastAnswer = 0
        var answerList: ArrayList<Int>? = null
        var seqs: ArrayList<ArrayList<Int>>? = null
    
        fun dynamicArray(n: Int, queries: Array<Array<Int>>): Array<Int> {
    
            seqs = ArrayList<ArrayList<Int>>()
            for (i in 0 until n) {
                seqs!!.add(ArrayList<Int>())
            }
    
            answerList = ArrayList()
    
            val size = queries.size
            for (i in 0 until size) {
                val type = queries[i][0]
                val x = queries[i][1]
                val y = queries[i][2]
                val seqIndex = (x xor lastAnswer) % n
    
                when (type) {
                    1 -> {
                        val list = seqs!!.get(seqIndex)
                        list.add(y)
                    }
                    2 -> {
                        val list = seqs!![seqIndex]
                        val index = y % list.size
                        lastAnswer = list.get(index)
                        answerList!!.add(lastAnswer)
                    }
                }
            }
    
            val count = answerList!!.size
            val array = Array<Int>(count, { 0 })
            answerList!!.toArray(array)
            return array
        }
    }
  • 相关阅读:
    STM32寄存器的简介、地址查找,与直接操作寄存器
    SPI初始化寄存器配置
    docker 命令
    SpringBoot接口格式和规范
    算法
    RabbitMQ
    UML概念
    activeMQ和JMS
    设计模式七大原则
    redis缓存
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/12749265.html
Copyright © 2011-2022 走看看