算法: C# 中将 Dictionary 集合用作 Hashmap 等价类型
创始人
2024-03-03 01:20:03
0

一.只出现一次的数字 

1.1 题目描述

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

示例 1:

输入:nums = [2,2,3,2]
输出:3
示例 2:

输入:nums = [0,1,0,1,0,1,100]
输出:100

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/WGki4K
 

1.2 解题思路以及代码

代码一:

    public static int SingleNumber(int[] nums){foreach (var x in nums.GroupBy(x => x)){if (x.Count() == 1) {Console.WriteLine(x.Key);return x.Key;}    }return -1;          }

使用GroupBy去实现:

学习GroupBy的链接如下:

C# - LINQ GroupBy Examples - CSharp Academy

代码二:

    public static int SingleNumber1(int[] nums){Dictionary dict=new Dictionary();foreach (var x in nums){dict[x]=dict.GetValueOrDefault(x,0)+1;}foreach(var item in dict){if (item.Value == 1){return item.Key;}}return -1;}

两个实现代码的思路是一样的,但是代码二的效率比代码一的效率高

 

时间复杂度:O(n),其中 n是数组的长度。

空间复杂度:O(n)。哈希映射中包含最多⌊n/3⌋+1 个元素,即需要的空间为 O(n)。

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...