题目:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留) 方法1.对数组进行排序(快速,堆),然后比较相邻的元素是否相同。时间复杂度为O(nlogn),空间复杂度为O(1)。方法2.使用bitmap方法。定义长度为N/8的char数组,每个 ...
public static void main String args 方法一:利用for循环 int arr new int for int i i lt arr.length i arr i r.nextInt for int j j lt i j if arr i arr j i System.out.println Arrays.toString arr 方法二 set集合 HashSet ...
2017-12-15 21:41 0 1308 推荐指数:
题目:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留) 方法1.对数组进行排序(快速,堆),然后比较相邻的元素是否相同。时间复杂度为O(nlogn),空间复杂度为O(1)。方法2.使用bitmap方法。定义长度为N/8的char数组,每个 ...
。 ...
题目: 给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 思路: 题目思路简单。 程序: class ...
题目:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 思路:设定一个边界,看看哪种方式可以跳的方式最远。 程序: class Solution ...
题目: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 思路: 较简单,与第45题思路类似 程序: class ...
题目: 把一个整数数组中重复的数字去掉,并输出剩下的不重复的元素。(要求不能开辟新空间) 思路: 先排序,然后遍历数组比较,详见代码 代码: #include <iostream> #include <algorithm> using namespace ...
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 ...
题目: 给任意一个整数数组,找出这个数组的和最大的连续子数组(子数组的和最大且子数组连续)。要求:算法的时间复杂度为O(n)。 程序设计思想: 1:用maxValue记录当前连续子数组和为最大的和的值,初始化其值为:maxValue=a[0]。注:记数组为a[n]。 2:这个过程总的思想 ...