首页 > 其他分享 >Leetcode 只出现一次的数据

Leetcode 只出现一次的数据

时间:2024-03-21 23:33:20浏览次数:20  
标签:一次 boxed stream nums int IntegerList collect 数据 Leetcode

Day 7 第三题

我的思路:利用Stream 的distinct()方法找出不重复的,但后续思路想不出来。
class Solution {
    public int singleNumber(int[] nums) {
        int n = nums.length;
        IntStream stream = Arrays.stream(nums);//转为stream流

        Stream<Integer> boxed = stream.boxed(); //装箱为Integer

        List<Integer> collect = boxed.collect(Collectors.toList()); //收集
        
        List<Integer> IntegerList = Arrays.stream(nums).distinct().boxed().collect(Collectors.toList()); // 利用Stream 的distinct()方法来去除重复元素

        int i=0;
        while (IntegerList.contains(nums[i])){
            // 会连续删除元素,indexOf可以在arraylist中找特定的元素的idx
            IntegerList.remove(IntegerList.indexOf(nums[i++])); // wrong step 
            if(i>=n){
                i=0;
            }

        }

        return nums[i];
    }
}
力扣官方解答:利用异或类型的巧算,得出唯一出现一次的数字。
class Solution {
    public int singleNumber(int[] nums) {
        int single = 0;
        for (int num : nums) {
            single ^= num;
        }
        return single;
    }
}

标签:一次,boxed,stream,nums,int,IntegerList,collect,数据,Leetcode
From: https://www.cnblogs.com/xytang-mini-juan/p/18088473

相关文章

  • 数据结构与算法基础知识
    数据结构与算法1算法的基本概念算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。也不等于计算方法。算法的基本特征:确定性,算法中的每一步骤都必须有明确的定义,不允许有多义性;有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;可行性,算法原则上能够精......
  • 数据表示——原码/反码/补码/移码
    计算机中的数值信息分成整数和实数两大类。整数不使用小数点,或者说小数点总是隐含在个位数的右边,所以整数也称为“定点数”。相应地,实数也称为“浮点数”。计算机在存储或运算时,需要采用一种编码形式表示数值,这种表示方式就分为原码、反码和补码。1.原码最高位是符号位......
  • 第一次画pcb学到的知识
    第一次画pcb学到的知识1.Typec(6针)其中的CC1、CC2引脚为快充协议的引脚,用不到的时候串个5.1K的电阻接地s2.AMS117降压电路AMS1117芯片的输入电压都要一个10.1uf的电容,一般先接一个10UF的电容,再接100nf的电容,用于滤波。3.晶振电路晶振两边并联两个电容,叫做谐振电容,......
  • DA-CLIP关于使用BLIP生成数据集的代码注释
    背景:BLIP:DA-CLIP需要的目标: 为了在混合的退化数据集上训练DA-CLIP,作者使用引导式视觉语言框架BLIP为所有HQ图像生成描述。从HQ图像生成的描述是准确的,不传递退化信息。 然后,我们可以直接将这些干净的标题、LQ图像和相应的退化类型结合起来,构建图像-文本-退化类型......
  • 2024.3.18-隐私计算-隐语-数据可信流通,从运维信任到技术信任
    学习感受本节课从背景介绍、可信/非可信与数据流通之间的关系、提出关于技术实现数据流通安全的解决方案笔记1:可信与非可信之间的关系可信:身份可确认、利益可依赖、能力有预期、行为有后果关于可信的定义/规则,其实在外循环当中其实很难去遵守,因为身份追踪是比......
  • 非有序数组也能二分? —— 红蓝染色法续篇(Leetcode 162.寻找峰值)
    1.写在前面本文为个人学习总结,参考:B站Up:灵茶山艾府参考视频链接:https://www.bilibili.com/video/BV1QK411d76w/2.题目我们来看一下下面这道题:峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在......
  • SpringBoot整合Redis:Redis优化解决数据一致性问题
    ......
  • leetcode 路经总和 pathsum
    很熟悉的一道题,XX二面做过,面试官没让我当场造树,让我用数组模拟树来运行,依旧跑出来了。但是刚刚再做了一下,没思路,不会写......
  • 8、MySql数据库连接
    fromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyfromsqlalchemyimporttextapp=Flask(__name__)#主机IP地址HOSTNAME="127.0.0.1"#MySql的监听端口号,默认3306PORT=3306#用户名,密码,自己设置的USERNAME="root"PASSWORD="root&......
  • vue一些基础概念,核心理念,框架和库的区别,MVC和MVVM的区别,展示数据的几种方法、v-bind、
    1、什么是vue,核心理念,为什么学习vue1(单页面应用程序)用于构建用户界面的渐进式框架,采用自底向上增量开发的设计2数据驱动视图,组件化开发3轻量级框架、简单易学、虚拟的DOM、数据视图结构分离下面展示一些内联代码片。下面是vue的代码框架分为三部分:1.引入vue.js;2......