美文网首页
学习记录1道算法题 - 寻找孤立数

学习记录1道算法题 - 寻找孤立数

作者: 狄仁杰666 | 来源:发表于2023-09-12 15:45 被阅读0次

前言

来啦老铁!

今天记录一下最近遇到的 1 个算法相关的题目,或者叫小编程题吧,一起来瞅一瞅吧~

题目

有一个非空整形数组,除了有一个只出现过一次的数,其他的数都出现且只出现过两次,现要求找出这个只出现过一次的数。

例如:[1,3,17,3,1]
答案:17

不聪明的解答

(async () => {
    const data = [1, 3, 17, 3, 1];
    for (let i = 0; i < data.length - 1; i++) {
        let sameNum = 0;
        for (let j = i + 1; j < data.length; j++) {
            if (data[i] == data[j]) {
                sameNum += 1;
                continue;
            }
        }
        if (sameNum == 0) {
            console.log(data[i]);
            break;
        }
    }
})();

聪明的解答

(async () => {
    const data = [1, 3, 17, 3, 1];
    let n = 0;
    for (let i = 0; i < data.length; i++) {
        n ^= data[i]
    }
    console.log(n);
})();

原理:可以使用异或或来解决这个问题,因为两个相同的数异或之后就是0,0与一个数异或还是这个数,而且异或满足交换律;

额,这个还真想不到,是得学习一下~

如果本文对您有帮助,麻烦动动手指点点赞?

谢谢!

相关文章

  • 每日算法(两数之和、两数相加)-11.12

    今天开始记录每天学习一道两道的算法题,由简入难。今天一共学习了两道算法,一道简单一道中等,分别为两数之和、两数相加...

  • 寻找丑数

    算法题:寻找丑数 这是一道在订阅的blog上看到的题目,觉得比较有意思,就动手做了一下。 何为丑数? 丑数(Ugl...

  • LeetCode-两数之和

    来年就要找工作了,刷刷lc复习数据结构和算法。两数之和是第一道题,可能也是最简单的一道题,我准备从这里开始记录我的...

  • Python 算法 第一章 介绍

    题学习使用教材<Python算法教程> Python 算法教程 在此进行记录,方便以后学习,加深记忆.

  • ARTS(09)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(05)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(07)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(10)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(02)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(03)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

网友评论

      本文标题:学习记录1道算法题 - 寻找孤立数

      本文链接:https://www.haomeiwen.com/subject/hpfuvdtx.html