如何找数组中唯一重复的数?

2023-10-26

如何找数组中唯一重复的数?

题目:在这里插入图片描述

方法一:不使用辅助空间的方法

思路:
1、异或:同0异1
2、一组数连续异或,相当于消除重复的数。
所以可以把1到1000这1000个数异或以后,和数组中的1001个元素异或,这样结果就是重复的元素。

例:
数组为:{1,2,3,4,4,5,6} 一共7个数记异或结果为x1
数组 {1,2,3,4,5,6}异或结果为x2,
x1异或x2就是重复的数4

下面展示 代码

import java.util.Random;
public class findnumber {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
int N=11;
int[] arr=new int [N];
for(int i=0;i<arr.length-1;i++)
{
	arr[i]=i+1;
}//生成数组

arr[arr.length-1]=new Random().nextInt(9)+1;//生成重复的那个随机数
int index=new Random().nextInt(10);//生成随机下标

int a=0;
a=arr[index];
arr[index]=arr[arr.length-1];
arr[arr.length-1]=a;//交换生成的随机数到随机下标的位置

for(int i=0;i<N;i++)
{
	System.out.print(arr[i]+" ");
}
System.out.println();

int x1=0;
for(int i=1;i<N;i++)
{
x1^=i;
}//x1为1异或到10的值

for(int i=0;i<N;i++)
{
x1^=arr[i];
}
System.out.print(x1);
}
}

结果为
在这里插入图片描述

方法二:若可以使用辅助空间的

创建新数组arr2[],用arr2[]的下标来统计该数的个数,个数为2的数即为要找的重复的数

代码片段如下:

int[] arr2=new int [N];
for(int i=0;i<N;i++)
{
arr2[arr[i]]++;
}
 for(int i=0;i<N;i++)
{
    if(arr2[i]==2){
	System.out.print(i);
}
 }

总代码结果:
上面为方法一
下面为方法二
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找数组中唯一重复的数? 的相关文章

  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • Java程序中的数组奇怪的行为[重复]

    这个问题在这里已经有答案了 我遇到了这个 Java 程序及其以意想不到的方式运行 以下程序计算 int 数组中元素对之间的差异 import java util public class SetTest public static void
  • 如何测试 JUnit 测试的 Comparator?

    我需要测试 Compare 方法 但我对如何测试感到困惑 我可以看看该怎么做吗 public class MemberComparator implements Comparator
  • ExceptionConverter:java.io.IOException:文档没有页面。我正在使用 iText

    当我执行下面的代码时 File f new File c sample pdf PdfWriter getInstance document new FileOutputStream f document open System out p
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • 国密:SM2公私钥加签验签

    一 工具类 POM中增加hutool
  • jdbc mysql 重连_JDBC实现Mysql自动重连机制的方法详解

    JDBC是一个用于连接和访问各种数据库的应用编程接口 它可以提供Java程序和各种数据库之间的连接服务 以下是成都seo技术频道编辑带来的实现Mysql自动重连机制的JDBC方法的详细说明 日志 使用连接器 J连接属性 自动连接 真 来避免
  • 我的Docker部署笔记

    Centos7下安装Docker 1 root账户登录 查看内核版本 root localhost uname a Linux localhost localdomain 3 10 0 1160 el7 x86 64 1 SMP Mon O
  • var与let的区别【一看就懂的知识】

    今天偶尔翻看了一本书 JavaScript编程精解 在函数这一章节中难免会看到 作用域 这个字眼 之前对于作用域的概念本就不是很敏感 也就匆匆略过了 反过来看时 才明白这是一个比较重要的点 下面借作用域这一概念深入了解一下本文的重点 var
  • 5.QT5中的connect的实现

    在QT4中 解析信号槽是通过将信号槽的名字转化为字符串 然后通过connect解析该字符串 得到信号函数的相对序号和 然后创建信号connectionlist 但是 所有的检查都在运行时 通过解析字符串进行 这意味着 如果信号槽的名称拼写错
  • springcloud之服务配置中心

    springcloud之服务配置中心 SpringCloud Config简介 Config Server基本使用 Config Client基本使用 Config整合Eureka Config配置搜索路径 SpringCloud Conf
  • 2021.11.7总结

    数据结构 将第三章栈与队列知识点看完了 栈是先进后出表 队列是先进先出表 然后发现了书上有很多题目 慕课上面也有很多题目 只是我自己没写而已 下周从第一章开始写题 然后洛谷很久没写题目了 下周 将数据结构书上和课程的题目写完 到第三章 洛谷
  • 开启OLED透明屏代理之路:高质量显示解决方案的商机

    随着科技的不断进步 OLED透明屏作为一种创新的显示技术 正逐渐在各个领域得到广泛应用 作为一名OLED透明屏代理商 你将有机会参与其中 共享这一蓬勃发展的市场 一 介绍OLED透明屏的概念和特点 1 1 什么是OLED透明屏 OLED透明
  • pandas_数据处理分析基本

    一 Pandas基础用法 20210405 fancy lee 1 pandas介绍 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具 该工具是为了解决数据分析任务而创建的 panda
  • ESP-12F开发环境

    ESP 12F可以使用arduino IDE快速开发 1 首先安装arduino IDE 搜索直接下载即可 2 在文件 gt 首选项 gt 附加开发板管理器网址中添加ESP8266开发板 网址 http arduino esp8266 co
  • PHP curl 传输文件流

    PHP版本5 5以下时可直接使用 拼接要传输的文件的绝对路径即可 params file str replace ABSOLUTE PATH str PHP版本5 5以上时 需要使用curl file create函数 创建一个 CURLF
  • Python中Pickle模块的dump()方法和load()方法

    Python中的Pickle模块实现了基本的数据序列与反序列化 一 dump 方法 pickle dump obj file protocol 注释 序列化对象 将对象obj保存到文件file中去 参数protocol是序列化模式 默认是0
  • docker 使用pytorch在gpu上训练模型

    docker 使用pytorch在gpu上训练模型 安装docker 下载docker image 建立启动容器进入docker虚拟空间 不一定能运行起来 安装docker sudo apt get y install docker io
  • 百度旋转验证码(8-24,js逆向)

    网址 aHR0cHM6Ly96aXl1YW4uYmFpZHUuY29tL2xpbmtzdWJtaXQvdXJs 一 抓包分析 刷新网页 先看第一个包 提交参数是ak和时间戳 ak是定值 返回的参数中 as和tk后面都会用到 然后点击提交链接
  • Android AnimationDrawable动画与APP启动引导页面

    Android AnimationDrawable动画与APP启动 加载引导页面 画面 AnimationDrawable是Android的Frame动画 可以简单的认为此AnimationDrawable能够将一系列资源图片加载成 电影
  • 大数据分析引擎之presto简介

    大数据分析引擎之presto简介 简介 presto是一个大数据分析引擎 不属于hadoop体系 他是基于内存的 他的集群模式是主从式的 他可以与任何的大数据存储引擎做集成 集成的时候使用它的Connectors集成 从这里我们可以他可以和
  • SpringBoot集成mybatis-plus生成实体类

    1 pom xml添加依赖 2 配置mybatis plus 在application yml中添加 配置数据库连接 3 在com dtest02 demo system config下添加MyBatisPlusConfig java 4
  • 踩坑:nacos利用startup.cmd -m standalone启动错误

    1 报错信息 PS D SpringCloud nacos nacos bin gt startup cmd m standalone startup cmd 无法将 startup cmd 项识别为 cmdlet 函数 脚本文件或可运行程
  • 线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(上)

    最小二乘在直线拟合上的应用 在前一篇最小二乘的文章中 线性代数 投影与最小二乘 下 多元方程组的最小二乘解与向量在多维子空间上的投影 松下J27的博客 CSDN博客多变量方程组的最小二乘 向量到多维子空间上的投影 https blog cs
  • 如何找数组中唯一重复的数?

    如何找数组中唯一重复的数 题目 方法一 不使用辅助空间的方法 思路 1 异或 同0异1 2 一组数连续异或 相当于消除重复的数 所以可以把1到1000这1000个数异或以后 和数组中的1001个元素异或 这样结果就是重复的元素 例 数组为