zoukankan      html  css  js  c++  java
  • LeetCode–数组中重复的数字

    LeetCode–数组中重复的数字

    博客说明

    文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

    说明

    剑指offer,3题

    数组中重复的数字

    题目

    在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

    示例 1:

    输入:
    [2, 3, 1, 0, 2, 5, 3]
    输出:2 或 3 
    

    Java

    使用set集合,遍历数组,将值存入set集合,当存入错误的时候,表示遇到重复的数字,返回此时的元素即可

    class Solution {
        public int findRepeatNumber(int[] nums) {
            Set<Integer> set = new HashSet<Integer>();
            int temp = -1;
            for(int num : nums){
                if(!set.add(num)){
                    temp = num;
                    break;
                }
            }
            return temp;
        }
    }
    

    Go

    使用map集合,遍历数组,当map集合的长度不改变,即遇到重复的数字

    func findRepeatNumber(nums []int) int {
        find := make(map[int]int, 0)
    	for k, v := range nums {
    		find[v] = v
    		if len(find) == k {
    			return v
    		}
    	}
    	return 0
    }
    

    C

    建立一个同等大小的空数组,原数组的值为新数组的下标,判断是否为第一次访问,访问一次置1,第二次访问直接返回该值。

    int findRepeatNumber(int* nums, int numsSize){
        int i = 0;
        char *tmp = calloc(numsSize,sizeof(int));
        for(i=0;i<numsSize;i++){
            if(tmp[nums[i]] == 0){
                tmp[nums[i]] = 1;
            }else{
                return nums[i];
            }
        }
        return -1;
    }
    

    PHP

    新建一个空数组,遍历数组,将元素依次插入新数组当中,使用isset判断是否重复

    class Solution {
    
        /**
         * @param Integer[] $nums
         * @return Integer
         */
        function findRepeatNumber($nums) {
            $res = [];
            for($i=0;$i<count($nums);$i++){
                if(isset($res[$nums[$i]])){
                    return $nums[$i];
                }
                $res[$nums[$i]] = '';
            }
        }
    }
    

    感谢

    leetcode

    以及勤劳的自己
    关注公众号: 归子莫,获取更多的资料,还有更长的学习计划

  • 相关阅读:
    mini2440裸机试炼之—RTC闹钟中断,节拍中断
    05004_Linux的其他命令和权限命令
    JSP 服务器响应
    JSP 客户端请求
    JSP 过滤器
    JSP 表单处理
    JSP Session
    JSP Cookies 处理
    JSP 日期处理
    JSP 文件上传
  • 原文地址:https://www.cnblogs.com/guizimo/p/13292735.html
Copyright © 2011-2022 走看看