在一个A大小的数组中2N,有N+1独特的元素,这些元素中的一个重复N次。

返回重复N次的元素

例1:

输入:[1,2,3,3]
输出:3

例2:

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

例3:

输入:[5,1,5,2,5,3,5,4]
输出:5
解法一:
题目中可以得知数组大小i为2N,有N+1个独特的元素(即不存在重复的元素N+1个),所以仅仅只有那个重复N次的元素在数组中有多个,其他元素在数组中仅出现一次
两次for循环,暴力解法
public int repeatedNTimes(int[] A) {
int N=A.length/2;
int temp=0;
for (int i=0;i<A.length;i++)
{
for (int j=i+1;j<A.length;j++)
{
if (A[i]==A[j])
{
temp=A[i];
break;
} }
}
return temp;
} 解法2:通过桶排序。初始化一个足够大的数组B,A数组中的值跟B数组中的下标对应,B数组中的值代表A数组元素出现的的次数。通过for循环,循环A中元素,A中元素重复则A元素作为B数组下标对应数组值+1
public static int repeatedNTimes(int[] A) {
int temp=0;
int B[]=new int[10000];
for (int i=0;i<A.length;i++)
{
B[A[i]]++;
if (B[A[i]]>1)
{
temp=A[i];
}
}
return temp;
}

961 -尺寸2N阵列中的N重复元素的更多相关文章

  1. JS 验证数组中是否包含重复元素

    验证JS中是否包含重复元素,有重复返回true:否则返回false 方案一. function isRepeat(data) { var hash = {}; for (var i in data) ...

  2. JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

    阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array(&qu ...

  3. JS判断数组中是否有重复元素的方法

    判断数组中是否有重复元素,最容易想到的方法是使用2重循环,逐个遍历,比较,但是这个是最慢,最笨的方法,百度得出了更好的方法. var ary = new Array("111",& ...

  4. c#:判断一个数组元素中否有重复元素

    给定一个数组,判定该数组中是否有重复元素. 判定该数组中是否有重复元素总结出以下实现方案: using System; using System.Collections.Generic; using ...

  5. Set中如何区分重复元素

    Set接口常用实现类:HashSet和TreeSet HashSet区分重复元素: 先使用hashcode方法判断已经存在HashSet中元素的hashcode值和将要加入元素hashcode值是否相 ...

  6. 使用HashMap或Hashset优化使用循环判断字符串中是否含有重复元素

    原本遇到判断字符串中是否含有重复元素的问题总是使用for循环遍历进行判断,这一方法则需要O(n3)的时间复杂度,如果本身方法处于几个循环中,就会指数倍增加时间复杂度.类似于如下代码: String[] ...

  7. python经典面试算法题4.1:如何找出数组中唯一的重复元素

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [百度面试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐ 题目描述 ...

  8. 217。数据中是否有重复元素(哈希表/set简法)

    给定一个整数数组,判断是否存在重复元素. 如果任意一值在数组中出现至少两次,函数返回 true .如果数组中每个元素都不相同,则返回 false . 示例 1: 输入: [1,2,3,1] 输出: t ...

  9. leecode第二天-使用异或找出数组中的非重复元素

    leecode题目描述如下: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 思路: 最开始想到的是使用排序,排序之后就很容易找到非重复元素了. ...

随机推荐

  1. LEFT JOIN条件写在where里是不会多查出数据来的

    因为WHERE条件是对前面整个数据集进行查询,但如果条件放在ON里是会把在前表不在后表的数据查出来的

  2. javascript事件的类型整理

    mouseenter:只能进入目标元素才会触发: mouseleave:只能离开目标元素才会触发: mouseover:进入目标元素或者其子元素的时候触发: mouseout:离开目标元素或者其子元素 ...

  3. SpringBoot整合MyBatis及Thymeleaf

    http://www.cnblogs.com/ludashi/archive/2017/05/08/6669133.html 上篇博客我们聊了<JavaEE开发之SpringBoot工程的创建. ...

  4. 总结day24 ---- socket ,struct 的学习

    前情提要 一:套接字  socket()  1:三次握手 1:客户端像服务端链接,   (第一次握手) 2:服务端收到请求,告诉客户端服务端收到了内容    (第二次握手1) 3:服务端像客户端连接, ...

  5. 构造函数详解,explicit,初始化列表

    一.构造函数 在类中有一种特殊的成员函数,它的名字与类名相同,我们在创建类的时候,这个特殊的成员函数就会被系统调用.这个成员函数,就叫“构造函数”. 因为构造函数会被系统自动调动,构造函数的目的就是初 ...

  6. JS使用Crypto实现AES/ECS/zero-padding加密

    首先说一句,no-padding和zero-padding是一样的.他们指的是不够16位的情况补0至16位. 天知道网上为什么会出现两种叫法. 另附两个有用的网址 http://tool.chacuo ...

  7. [转] 手动上传jar包到远程仓库 (maven deploy)

    [From] https://my.oschina.net/360yg/blog/1588899 前言:通常允许上传的远程仓库有两种:Snapshots和Releases,分别为快照版仓库和稳定版仓库 ...

  8. JavaSwing程序设计(目录)

    一.JavaSwing 概述 JavaSwing 图形界面概述 二.JavaSwing 基本组件 JLabel(标签) JButton(按钮) JTextField(文本框) JPasswordFie ...

  9. c#Task类。实现异步的一种方式

    Task和Task<TResult>是c#提供的一种实现异步功能的2个类.Task<TResult>继承Task类,有返回参数. 1.基本用法 不嵌套利用静态方法创建和运行任务 ...

  10. Zepto自定义模块打包构建

    文章转自 http://www.chengxuyuans.com/web_technology/zeptojs-build.html zepto.js 是个好东西,遵循 jQuery API,但比 j ...