当前位置: 首页 > LeetCode > 正文

剑指offer leetcode 数组中的重复数字

admin 发表于2021年2月17日 11:01
func findRepeatNumber(nums []intint {
    n:= len(nums)
    for i :=0;i< n; i++{
        for  i != nums[i]  { //交换之后的新数还是从这开始,继续判断这个数是否需要交换,直到这个num[i]正确
            if (nums[i] == nums[nums[i]]){     //非第一次出现
                return nums[i]
            }else {                            //第一次出现
                 x := nums[i]
                 nums[i] = nums[x]
                nums[x] = x
            }
        }
    }
    return 0
}

 

 

//没搞明白这个原地置换的原理

用map或者排序做吧。

 

func findRepeatNumber(nums []int) int { var mapV = make(map[int]int) for i := 0; i <len(nums); i++ {
      _, ok :=mapV[nums[i]] if ok{ return nums[i]
      }else{
         mapV[nums[i]] = i
      }
   } return -1 }

 

 
全文完
本文标签:
本文标题: 剑指offer leetcode 数组中的重复数字
本文链接: http://blog.qqzzz.net/m/?post=104

〓 随机文章推荐

共有1068阅 / 0我要评论
  1. 还没有评论呢,快抢沙发~

发表你的评论吧返回顶部

!评论内容需包含中文

请勾选本项再提交评论