算法: C# 中将 Dictionary 集合用作 Hashmap 等价类型

news2025/1/17 8:52:50

一.只出现一次的数字 

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<int,int> dict=new Dictionary<int,int>();
        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)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Faster RCNN全文翻译

Abstract—State-of-the-art【最先进的】 object detection networks depend on region proposal algorithms to hypothesize【假设、推测】 object locations.Advances like SPPnet [1] and Fast R-CNN [2] have reduced the running time of these detection networks, expos…

赞叹AI的力量-TopazLabs 全家桶使用经历

一、Topaz Gigapixel AI 之前有用过日本的一个2x提升的在线网站服务waifu2x 是通过深度卷积神经网络来实现的&#xff0c;对于anime-style的图片效果是非常好的&#xff0c;使用过之后发现对于一些真实图片效果也不错&#xff0c;只是放大之后能明显的看到局部失真。 效果图&…

详解nginx的root与alias

文章目录1. 结论2. 详解root2.1 基本用法2.2 location的最左匹配原则2.3 index2.4 nginx location解析url工作流程2.5 末尾/3. 详解alias3.1 基本用法4. 特殊情况4.1 alias指定文件4.2 root指定文件nginx版本: 1.18.0 1. 结论 location命中后 如果是root&#xff0c;会把请求…

Anaconda、Conda、pip、Virtualenv的区别

一、Anaconda 1.1 简介 Anaconda是一个包含180的科学包及其依赖项的发行版本。其包含的科学包包括&#xff1a;conda, numpy, scipy, ipython notebook等。 二、Conda 2.1 简述 conda是包及其依赖项和环境的管理工具。 适用语言&#xff1a;Python, R, Ruby, Lua, Scala, …

什么是CRM系统,它如何支持客户营销管理?

简道云回款&销售排名看板什么是CRM控制系统&#xff0c;它怎样全力支持顾客网络营销管理工作? 顾客关系管理工作(CRM)是国际品牌用以培育与顾客关系的技术。这些应用软件系统意在协助产品销售和服务全权更有效地与顾客沟通交流。由于91%的雇员超过11人的企业使用CRM&…

Vue3 —— 利用vite+vue创建一个vue3项目

前言 本文主要讲解如何利用vitevue创建第一个项目以及vue3的基础知识点 一、创建一个vue3项目 这里我们主要介绍如何利用 vitevue3创建项目 1.有关vite Vite&#xff08;法语意为 "快速的"&#xff0c;发音 /vit/&#xff0c;发音同 "veet"&#xff09;是…

AWS Lambda函数实战

AWS Lambda函数实战 实战效果&#xff1a;开发一个函数&#xff0c;它会关注事件中的某个名字&#xff0c;并返回“Hello<名字>&#xff01;”。如果输入事件没有提供名字&#xff0c;则函数返回一个更加通用的问候语“Hello World&#xff01;”。 AWS Lambda函数实战A…

vue后台实现点击图片放大

需求&#xff1a; 点击小图可以放大&#xff0c;放大后&#xff0c;通过手势等比例放大缩小、左右切换图、旋转、关闭。由于element-ui版本较低不支持使用图片放大的image组件。 代码 父组件&#xff1a; <template><div><!-- 放大图 --><el-image-vie…

数商云供应链管理系统助力化工行业企业实现客户订单管理可视化

订单管理是现代企业商务业务的重要组成部分&#xff0c;可以帮助企业解决订单管理低效、混乱等问题。随着产业互联网时代的到来&#xff0c;越来越多企业放弃传统费时费力的手动操作&#xff0c;开始应用数字化的管理工具来提高企业订单管理的水平。这里以化工行业企业为例&…

一文详解,数据仓库、数据库、数据中台、数据湖的区别

数据时代&#xff0c;各行业的企业都已经开始通过数据库来沉淀数据&#xff0c;但是真的论起数据库、数据仓库、数据中台&#xff0c;还是新出现的数据湖&#xff0c;它们的概念和区别&#xff0c;可能知道的人就比较少了&#xff0c;今天我们详细来比较了解一下。 数据仓库是…

ArrayList 和 LinkedList 之间应该怎么选择

这篇文章是来自知乎上的一个问题。 相信很多人在面试时都被问过这个问题&#xff0c;然后一般回答&#xff1a;ArrayList在指定下标访问时快&#xff0c;LinkedList在插入/删除元素时快。 其实这是一种人云亦云的谬误。可能最初有人这么回答&#xff0c;然后不加验证地转来转…

猿如意开发工具|JetBrains GoLand

一、猿如意是什么&#xff1f; 是CSDN推出的桌面客户端&#xff0c;旨在为广大开发者提供效率工具、文档、代码等优质工具和内容&#xff0c;提升开发者的学习和工作效率&#xff0c;详情点击&#x1f449;【猿如意官网】。为了让更多开发者更好的认识、了解、使用猿如意中的每…

项目管理(如何进行项目质量管理)

需要进行的工作&#xff1a; 1、规划项目质量管理&#xff1a;识别项目及其可交付成果的质量要求和/或标准&#xff0c;并书面描述项目将如何证明 符合质量要求和/或标准的过程。 2、管理质量&#xff1a;管理质量是把组织的质量政策用于项目&#xff0c;并将质量管理计划转化…

蓝桥杯嵌入式cubeMX自动生成的gpio.c文件解析

文章目录前言一、如何生成gpio.c文件二、gpio.c内部实现总结前言 这篇文章将带大家了解一下cubeMX自动生成的gpio.c文件。 一、如何生成gpio.c文件 在LED这篇文章中我们配置了控制LED的GPIO引脚&#xff0c;选择了PD2和PC8 PC9这三个引脚&#xff0c;并且将他们都设置为了输…

数图互通高校房产管理系统——住房管理

1、住房管理 1.1 住房档案 住房模块的管理主要是针对学校的承租住宅和已售住宅的管理&#xff0c;用于登记已售住宅的产权人信息&#xff0c;记录承租住宅的租赁起止日期、月租金等基本信息。 支持住房的坐落信息、楼栋、房间信息的维护。坐落位置主要维护校区编号、校区名称…

说明白正反向代理,以及Nginx和Gunicorn

一&#xff1a;什么是Nginx Nginx的产生 没有听过Nginx&#xff1f;那么一定听过它的"同行"Apache吧&#xff01;Nginx同Apache一样都是一种WEB服务器。基于REST架构风格&#xff0c;以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform …

图像质量评价指标metrics:PSNR 、SSIM、LPIPS

一、PSNR&#xff08;峰值信噪比&#xff09; 1.定义 是基于对应像素点间的误差&#xff0c;即基于误差敏感的图像质量评价&#xff0c;由于并未考虑到人眼的视觉特性&#xff08;人眼对空间频率较低的对比差异敏感度较高&#xff0c;人眼对亮度对比差异的敏感度较色度高&…

HTTP协议中的Cookie 和 Session

Cookie Session一 Cookie1.Cookie是什么?2.Cookie的工作机制二 Session1.Session的工作机制三 Cookie 和 Session 的区别一 Cookie 1.Cookie是什么? Cookie是一组键值对保存在客户端&#xff0c;服务器给浏览器的一组键值对(Sessionidxxxxxxx)通过Cookie来传递给客户端&…

比搞笑诺奖还离谱,看完国产AIGC最新创作,把我给整不会了

杨净 萧箫 发自 凹非寺量子位 | 公众号 QbitAI现在&#xff0c;AI生成的东西&#xff0c;“真实”得都让我有点害怕了——只是给出《马斯克获得诺贝尔物理学奖》这个标题&#xff0c;AI竟然就刷刷刷几下&#xff0c;蹦出了一整套大纲来&#xff1f;&#xff01;如果让AI生成一些…

5G WiFi 安信可 BW16 模组 RTL8720DN 入门笔记 2:Linux 搭建二次开发SDK开发环境,点亮一盏LED灯。

首先按照环境所依赖的包&#xff1a; sudo apt-get install git wget libc6-i386 lib32ncurses5 make bc gawk ncurses-dev 开始获取SDK源码&#xff0c;并且修改权限&#xff1a; git clone https://github.com/ambiot/ambd_sdk.git sudo chmod -R 777 ambd_sdk然后开始编译…