寻找奇数出现

2023-05-16

有一个整型数组A,其中只有一个数出现了奇数次,其他的数都出现了偶数次,请打印这个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。

给定整形数组A及它的大小n,请返回题目所求数字。

测试样例:
[1,2,3,2,1],5
返回:3
思路:异或^的条件是相同为0,不同为1;设n=0;则n=n^a=a,如果出现同样的,则n=n^a=0;只有一个就只会值是那一个
代码如下:
public static void main(String[] args) {
		// TODO Auto-generated method stub
      int[] A =new int[]{1,2,3,2,1};
	  System.out.print(findOdd(A,5));
	}
	 public static int findOdd(int[] A, int n) {
	        // write code here
	     int k = 0 ;
		 for(int i=0;i<n;i++){
	    	 k = k^A[i];
	    }
		 return k;
	 } 


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

寻找奇数出现 的相关文章

  • 滑动窗口

    有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边 窗口每次向右边滑一个位置 返回一个长度为n w 43 1的数组res xff0c res i 表示每一种窗口状态下的最大值 以数组为 4 3 5 4 3 3 6 7
  • 数组变树

    对于一个没有重复元素的整数数组 xff0c 请用其中元素构造一棵MaxTree xff0c MaxTree定义为一棵二叉树 xff0c 其中的节点与数组元素一一对应 xff0c 同时对于MaxTree的每棵子树 xff0c 它的根的元素值为
  • JAVA设计模式初探之适配器模式

    转载http blog csdn net jason0539 1 概述 将一个类的接口转换成客户希望的另外一个接口 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作 2 解决的问题 即Adapter模式使得原本由
  • Linux使用Note

    这个文档正在维护完善中 1 释放Swap空间 依次执行如下命令即可 xff0c span class token function sync span span class token builtin class name echo spa
  • JAVA设计模式之单例模式

    转载http blog csdn net jason0539 概念 xff1a java 中单例模式是一种常见的设计模式 xff0c 单例模式的写法有好几种 xff0c 这里主要介绍三种 xff1a 懒汉式单例 饿汉式单例 登记式单例 单例
  • Java HashMap的工作原理

    本文由 ImportNew miracle1919 翻译自 javacodegeeks 欢迎加入 翻译小组 转载请见文末要求 本文由 ImportNew miracle1919 翻译自 javacodegeeks 欢迎加入 翻译小组 转载请
  • 环形链表插值

    有一个整数val xff0c 如何在节点值有序的环形链表中插入一个节点值为val的节点 xff0c 并且保证这个环形单链表依然有序 给定链表的信息 xff0c 及元素的值A 及对应的nxt 指向的元素编号同时给定val xff0c 请构造出
  • 访问单个节点的删除

    实现一个算法 xff0c 删除单向链表中间的某个结点 xff0c 假定你只能访问该结点 给定带删除的节点 xff0c 请执行删除操作 xff0c 若该节点为尾节点 xff0c 返回false xff0c 否则返回true 代码实现 xff1
  • 寻找下一个结点

    题目描述 请设计一个算法 xff0c 寻找二叉树中指定结点的下一个结点 xff08 即中序遍历的后继 xff09 给定树的根结点指针TreeNode root 和结点的值int p xff0c 请返回值为p的结点的后继结点的值 保证结点的值
  • 最近公共祖先

    题目描述 有一棵无穷大的满二叉树 xff0c 其结点按根结点一层一层地从左往右依次编号 xff0c 根结点编号为1 现在有两个结点a xff0c b 请设计一个算法 xff0c 求出a和b点的最近公共祖先的编号 给定两个int a b 为给
  • 汉罗塔问题递归实现

    代码如下 xff1a include lt stdio h gt long k 61 0 void move char x char y void hn int n char a char b char c int main int n p
  • java中 static变量和方法到底是存在内存什么区域呢?

    需要学习资料的 43 微信公众号 学习资源后台找我 本人比较忙 我看到了会在后台帮你 xff0c 谢谢关注啦 JVM内存总体一共分为了 4个部分 stack segment heap segment code segment data se
  • 循环有序数组最小值

    对于一个有序循环数组arr xff0c 返回arr中的最小值 有序循环数组是指 xff0c 有序数组左边任意长度的部分放到右边去 xff0c 右边的部分拿到左边来 比如数组 1 2 3 3 4 xff0c 是有序循环数组 xff0c 4 1
  • coreApp=true属性及android4.2下多用户进程启动说明

    1 关于coreApp 61 true的说明 xff0c 在manifest中增加该属性 xff0c 其实并不是代表该APP具有系统权限 xff0c 而是把该类app归类为核心APP xff0c 核心app其实也是最小android fra
  • 元素最左出现

    对于一个有序数组arr xff0c 再给定一个整数num xff0c 请在arr中找到num这个数出现的最左边的位置 给定一个数组arr 及它的大小n xff0c 同时给定num 请返回所求位置 若该元素在数组中未出现 xff0c 请返回
  • 局部最小值位置

    定义局部最小的概念 arr长度为1时 xff0c arr 0 是局部最小 arr的长度为N N gt 1 时 xff0c 如果arr 0 lt arr 1 xff0c 那么arr 0 是局部最小 xff1b 如果arr N 1 lt arr
  • 最左原位

    有一个有序数组arr xff0c 其中不含有重复元素 xff0c 请找到满足arr i 61 61 i条件的最左的位置 如果所有位置上的数都不满足条件 xff0c 返回 1 给定有序数组arr 及它的大小n xff0c 请返回所求值 测试样
  • 快速N次方

    如果更快的求一个整数k的n次方 如果两个整数相乘并得到结果的时间复杂度为O 1 xff0c 得到整数k的N次方的过程请实现时间复杂度为O logN 的方法 给定k 和n xff0c 请返回k的n次方 xff0c 为了防止溢出 xff0c 请
  • 二进制插入

    题目描述 有两个32位整数n和m xff0c 请编写算法将m的二进制数位插入到n的二进制的第j到第i位 其中二进制的位数从低位数到高位且以0开始 给定两个数int n 和int m xff0c 同时给定int j 和int i xff0c
  • 二进制小数

    题目描述 有一个介于0和1之间的实数 xff0c 类型为double xff0c 返回它的二进制表示 如果该数字无法精确地用32位以内的二进制表示 xff0c 返回 Error 给定一个double num xff0c 表示0到1的实数 x

随机推荐

  • 最接近的数

    题目描述 有一个正整数 xff0c 请找出其二进制表示中1的个数相同 且大小最接近的那两个数 一个略大 xff0c 一个略小 给定正整数int x xff0c 请返回一个vector xff0c 代表所求的两个数 xff08 小的在前 xf
  • 二叉树的递归实现(先,中,后)

    package erchashu import java util ArrayList import java util List public class diguierchashu public static List lt TreeN
  • 二叉树的非递归实现(先,中,后)

    先序 public void xianxu TreeNode root if root 61 61 null return stack push root while stack isEmpty TreeNode tmp 61 stack
  • 整数转化

    题目描述 编写一个函数 xff0c 确定需要改变几个位 xff0c 才能将整数A转变成整数B 给定两个整数int A xff0c int B 请返回需要改变的数位个数 测试样例 xff1a 10 5 返回 xff1a 4 思路 xff1a
  • 串口日志缺少log怎么办?

    输出到串口的日志级别跟输出到内存的日志级别不一样 配置在 proc sys kernel printk 节点 当前 user 版本配置是 xff1a 4 4 1 4 xff0c 含义如下 xff1a 4 xff1a 串口输出级别 xff0c
  • 奇偶位交换

    题目描述 请编写程序交换一个数的二进制的奇数位和偶数位 xff08 使用越少的指令越好 xff09 给定一个int x xff0c 请返回交换后的数int 测试样例 xff1a 10 返回 xff1a 5 解题思路 xff1a xff08
  • 找出缺失的整数

    题目描述 数组A包含了0到n的所有整数 xff0c 但其中缺失了一个 对于这个问题 xff0c 我们设定限制 xff0c 使得一次操作无法取得数组number里某个整数的完整内容 唯一的可用操作是询问数组中第i个元素的二进制的第j位 最低位
  • 二叉树的序列化

    首先我们介绍二叉树先序序列化的方式 xff0c 假设序列化的结果字符串为str xff0c 初始时str等于空字符串 先序遍历二叉树 xff0c 如果遇到空节点 xff0c 就在str的末尾加上 xff0c 表示这个节点为空 xff0c 节
  • 链表的分化

    对于一个链表 xff0c 我们需要用一个特定阈值完成对它的分化 xff0c 使得小于等于这个值的结点移到前面 xff0c 大于该值的结点在后面 xff0c 同时保证两类结点内部的位置关系不变 给定一个链表的头结点head xff0c 同时给
  • 两个链表的公共值

    现有两个升序链表 xff0c 且链表中均无重复元素 请设计一个高效的算法 xff0c 打印两个链表的公共值部分 给定两个链表的头指针headA 和headB xff0c 请返回一个vector xff0c 元素为两个链表的公共部分 请保证返
  • 链表指定值清除

    现在有一个单链表 链表中每个节点保存一个整数 xff0c 再给定一个值val xff0c 把所有等于val的节点删掉 给定一个单链表的头结点head xff0c 同时给定一个值val xff0c 请返回清除后的链表的头结点 xff0c 保证
  • 链表的回文结构

    请编写一个函数 xff0c 检查链表是否为回文 给定一个链表ListNode pHead xff0c 请返回一个bool xff0c 代表链表是否为回文 测试样例 xff1a 1 2 3 2 1 返回 xff1a true 1 2 3 2
  • 链表判环

    如何判断一个单链表是否有环 xff1f 有环的话返回进入环的第一个节点的值 xff0c 无环的话返回 1 如果链表的长度为N xff0c 请做到时间复杂度O N xff0c 额外空间复杂度O 1 给定一个单链表的头结点head xff08
  • 无环单链表判相交

    现在有两个无环单链表 xff0c 若两个链表的长度分别为m和n xff0c 请设计一个时间复杂度为O n 43 m xff0c 额外空间复杂度为O 1 的算法 xff0c 判断这两个链表是否相交 给定两个链表的头结点headA 和headB
  • 判断直线相交

    题目描述 给定直角坐标系上的两条直线 xff0c 确定这两条直线会不会相交 线段以斜率和截距的形式给出 xff0c 即double s1 xff0c double s2 xff0c doubley1 xff0c double y2 xff0
  • 机器学习实战之k-近邻算法(6)---手写数字识别系统(0-9识别)

    from numpy import import operator from os import listdir 创建数据集 def createDataSet group 61 array 1 0 1 1 1 0 1 0 0 0 0 0
  • 碰撞的蚂蚁

    题目描述 在n个顶点的多边形上有n只蚂蚁 xff0c 这些蚂蚁同时开始沿着多边形的边爬行 xff0c 请求出这些蚂蚁相撞的概率 这里的相撞是指存在任意两只蚂蚁会相撞 给定一个int n 3 lt 61 n lt 61 10000 xff0c
  • 交换练习

    请编写一个算法 xff0c 不用任何额外变量交换两个整数的值 给定一个数组num xff0c 其中包含两个值 xff0c 请不用任何额外变量交换这两个值 xff0c 并将交换后的数组返回 测试样例 xff1a 1 2 返回 xff1a 2
  • 比较练习

    对于两个32位整数a和b xff0c 请设计一个算法返回a和b中较大的 但是不能用任何比较判断 若两数相同 xff0c 返回任意一个 给定两个整数a 和b xff0c 请返回较大的数 测试样例 xff1a 1 2 返回 xff1a 2 思路
  • 寻找奇数出现

    有一个整型数组A xff0c 其中只有一个数出现了奇数次 xff0c 其他的数都出现了偶数次 xff0c 请打印这个数 要求时间复杂度为O N xff0c 额外空间复杂度为O 1 给定整形数组A 及它的大小n xff0c 请返回题目所求数字