查找数组中不出现两次的整数

2023-11-27

我正在尝试解决这个问题: 在整数数组中,除了单个数字只出现一次之外,所有数字都恰好出现两次。

一个简单的解决方案是对数组进行排序,然后测试不重复。但我正在寻找时间复杂度为 O(n) 的更好的解决方案。


您可以对整个数组使用“xor”运算。每对数字都会相互抵消,留下您想要的值。

int get_orphan(int const * a, int len)
{
    int value = 0;
    for (int i = 0; i < len; ++i)
        value ^= a[i];

    // `value` now contains the number that occurred odd number of times.
    // Retrieve its index in the array.
    for (int i = 0; i < len; ++i)
    {
        if (a[i] == value)
            return i;
    }

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

查找数组中不出现两次的整数 的相关文章

随机推荐

  • Ember.js:观察所有对象属性

    我想观察对象属性的所有变化 在下面的示例中 如果名字或姓氏发生更改 我希望由 personChanged 观察者通知 但我希望对所有对象属性应用一些通用的东西 使用 Ember keys 如何用更通用的内容替换 名字 姓氏 在我的例子中 p
  • react-google-maps 如何获取标记位置?

    我阅读了文档 它方便地概述了可用的道具和方法 敬请期待here 我的问题是 给出这里的示例组件 import withScriptjs withGoogleMap GoogleMap Marker from react google map
  • (opencv) 将轮廓合并在一起

    我正在做一个实时运动检测程序 我发现使用背景减法后 我的不同图像中出现了很多轮廓 我想问是否有任何方法可以将这些轮廓合并在一起或使更大的矩形包含所有轮廓 现在我的案子已经完成了 http singhgaganpreet files word
  • 触摸事件触发两次

    我在移动设备 平板电脑上遇到问题 事件触发两次 当我单击以下功能时 应该下拉的菜单将下拉然后立即向上滑动 这只是触摸设备的问题 document on touchend click lines button function e e sto
  • 如何构造 Apache Commons Lang Range 对象?

    如何创建 Apache Commons Lang 3 1Range
  • Alamofire 请求的多种编码类型

    我需要做一个POST带有 HTTP Body 的请求JSON对象 但我还需要在同一请求中使用 url 查询参数 POST http www example com api create param1 value param2 value H
  • 在angerouslySetInnerHTML中从onclick调用React组件函数

    在这里反应新手 我有一个contenteditablediv 其中有dangerouslySetInnerHTML作为孩子 因为我需要在运行时格式化用户输入的任何内容 在特定范围内单击 HTML 内 我想要setState包含组件的变量之一
  • PyCharm Python 控制台 - 在同一行上打印未按预期工作

    我的目标是通过用当前进度覆盖前一行来在控制台中显示加载进度 我找到了很多针对 Python 3 版本的解决方案 但这些都不起作用 例如 import time for i in range 10 print i end flush True
  • 限制在平板电脑中安装应用程序

    我有一个 Android 应用程序 我想要停止在平板电脑中安装此应用程序 我搜索了很多网站 我得到了一些想法并遵循了 但这不是限制 以下是我访问过的一些网站 Android 清单限制平板电脑 http android developers
  • 从 C# 读取 Gmail 帐户的 Atom feed

    我有一个项目 它将向 Gmail 帐户发送一封包含某些数据的电子邮件 我认为阅读 Atom feed 可能比通过 POP 连接更容易 根据谷歌我应该使用的网址是 https gmail google com gmail feed atom
  • android.app.Application 无法转换为 com.facebook.react.ReactApplication

    我在我的项目中使用了这个命令 react native upgrade 当我尝试构建应用程序时出现错误 android app Application 无法转换为 com facebook react ReactApplication 我真
  • 从深度图像生成点云

    我正在尝试将深度图像 RGBD 转换为 3d 点云 我目前使用的解决方案取自这个帖子 where cx 图像中心高度 cy 图像中心宽度 fx and fy 250 通过迭代几个选项来选择 深度测量是通过针孔相机进行的 点云远离中心投影 示
  • iOS SDK:通过代码将按钮移动到屏幕中央

    我想通过代码将按钮移动到屏幕中央 我在某个地方看到它只是几行代码 但找不到它们 这会将按钮置于其超级视图的中心 CGRect bounds button superview bounds button center CGPointMake
  • CSRF 与 Spring Security 集成时,会话超时导致 Spring MVC 中的访问被拒绝

    我在 Spring MVC 项目中将 CSRF 令牌与 Spring Security 集成 使用 CSRF 令牌一切正常 令牌将从客户端发送到服务器端 我已经改变了我的logout制作过程POST发送 CSRF 令牌的方法及其工作正常 当
  • 调整图像类型“Mat”的大小 opencv C++

    我想调整图像大小 当图像是 IplImage 时 下面的代码可以工作 但是当我将其更改为 Mat 时 我收到以下错误 无法将 cv Mat 深度 从 int cv Mat const 类型转换为 int 类型 无法将参数 1 的 cv Ma
  • 如何从 R 访问维基百科?

    R 是否有任何包允许查询维基百科 最有可能使用 Mediawiki API 来获取与此类查询相关的可用文章列表 以及导入选定的文章以进行文本挖掘 有WikipediR R 中的 MediaWiki API 包装器 library devto
  • 使用 aiohttp 的 Python lib beautiful soup

    有人知道该怎么做 import html5lib import urllib from bs4 import BeautifulSoup soup BeautifulSoup urllib request urlopen http some
  • UWP 导航示例并重点关注控制

    I use UWP 导航示例作为我的应用程序导航的示例 我需要将焦点设置在 TextBox 上 我试穿一下UWP 导航示例 对于 BasicPage 我添加以下代码
  • 无法实例化活动...由 ClassNotFoundException 引起

    将完美工作的应用程序转换为库 包括其 Activity 类 后 我尝试通过简单地超类化库的活动来创建一个使用整个库的应用程序 package com example baseapp paid import android os Bundle
  • 查找数组中不出现两次的整数

    我正在尝试解决这个问题 在整数数组中 除了单个数字只出现一次之外 所有数字都恰好出现两次 一个简单的解决方案是对数组进行排序 然后测试不重复 但我正在寻找时间复杂度为 O n 的更好的解决方案 您可以对整个数组使用 xor 运算 每对数字都