我是靠谱客的博主 含蓄香烟,最近开发中收集的这篇文章主要介绍scala算法练习--数组旋转,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

scala算法练习–数组旋转
O(1)空间复杂度及其验证算法

def rotate(nums: Array[Int], k: Int): Unit = {
      val len=nums.length
      if(len==1 || k==0 || len==k) return
        var i=0
        var j=0
        var index=j
        var temp =nums(index)
        do {
          val next=nums((index+k)%len)
          nums((index+k)%len)=temp
          index=(index+k)%len
          if(index==j){
            index+=1
            j=index
            temp =nums(index)
          }else{
            temp=next
          }
          i+=1
        }while(i<len)
    }
    def rotate1(nums: Array[Int], k: Int):Array[Int]={
      val newNums=new Array[Int](nums.length)
      var index=0
      nums.foreach{x=>
        newNums((index+k)%nums.length)=x
        index+=1
      }
      newNums
    }
    for(x<- 1 to 100000 ) {
      for(y<- 1 until x ){
        val arr=(0 to x).toArray
        println("========================================")
        println(s"x=${x}:::y=${y}")
        val arr1=rotate1(arr,y)
        println(arr1.mkString(","))
        rotate(arr,y)
        println(arr.mkString(","))
        if(arr.mkString!=arr1.mkString){
          throw new Exception
        }
        println("========================================")
      }

最后

以上就是含蓄香烟为你收集整理的scala算法练习--数组旋转的全部内容,希望文章能够帮你解决scala算法练习--数组旋转所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部