美文网首页
数据结构

数据结构

作者: 油麦 | 来源:发表于2018-03-19 17:45 被阅读5次
  • 面试题3:数组中重复的数字
    在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为 7 的数组 {2, 3, 1, 0, 2, 5, 3},那么对应的输出是第一个重复的数字 2。
    思考:
    题目给的限定条件不能浪费,注意以下条件
    1.在一个长度为n的数组里,所有数都在0~n-1之间
    2.找出任意的一个
public static int duplicate(int[] nums) {
        int length = nums.length;
        // 增加鲁棒性,如果数组为空或者长度为0
        if (nums == null || length <= 0)
            return -1;
        // 控制外部循环
        for (int i = 0; i < length; i++) {
            // 如果key和value不想等,而且value为索引的对应的值也不相等的话
            // 第二个条件是因为当找到相同数字时也是和索引不一样
            while (nums[i] != i && nums[i] != nums[nums[i]]) {
                // 交换两个key为索引和 value为索引的两个数字的值
                swap(nums, i, nums[i]);
            }
            // 如果key和value的值相等,而且value的值等于以value为索引的值
            if (nums[i] != i && nums[i] == nums[nums[i]]) {
                return nums[i];
            }
        }
        return -1;
    }
    // 交换两个数字
private static void swap(int[] nums, int i, int j) {
        int t = nums[i];
        nums[i] = nums[j];
        nums[j] = t;
    }  

测试用例:
正常情况:长度为n的数组包含一个或者多个重复数字
正常情况:不包含重复的数字
无效的输入用例:空指针,长度为n的数组包含含有0~n-1以外的数字,长如为0的数组

相关文章

  • IOS开发_数据结构

    1、数据结构; 2、算法; 3、数据结构与算法; 1、数据结构; 1.1 概念: 数据结构:数据结构是计算...

  • py基础

    5Python集合容器 数据结构数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构...

  • 思维导图之数据结构+算法

    数据结构+算法 = 程序 数据结构比较 参考文章 数据结构与算法数据结构与算法(java)

  • 数据结构与算法分析:大纲]

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 本系列课程主要...

  • 数据结构:数组

    00数据结构与算法分析:大纲01数据结构:数组02数据结构:链表03数据结构:栈03数据结构:队列 数组 数组是一...

  • 数据结构—概述

    数据结构概述 数据结构概述:程序设计 = 数据结构 + 算法数据结构:数据元素之间存在所有特定关系的集合,数据结构...

  • OVS 源码分析整理

    OVS 核心代码 OVS 架构 OVS 主要的数据结构数据结构关系图主要的数据结构和数据结构的参数数据结构代码 d...

  • 01. 数据结构与算法绪论

    一、数据结构 1. 什么是数据结构 2. 数据结构的分类 3. 常用的数据结构 4. 数据结构的应用表现 二、算法...

  • 数据结构与算法 - 查找

    数据结构与算法系列文章数据结构与算法 - 时间复杂度数据结构与算法 - 线性表数据结构与算法 - 树形结构数据结构...

  • C#之数据结构(上)

    数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构有: 线性表、栈、队列、串、数组...

网友评论

      本文标题:数据结构

      本文链接:https://www.haomeiwen.com/subject/zwbpqftx.html