HJ9 提取不重复的整数

2023-11-14

描述
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。

数据范围: 1≤ n ≤ 10^8

输入描述:
输入一个int型整数

输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

C++代码

#include<iostream>
#include<unordered_set>
using namespace std;

int erease(int n){
    unordered_set<int> hash;
    int res = 0;
    while(n){
        int num = n % 10;
        if(hash.count(num)==0){ //出现次数为0,说明不在哈希表中
            hash.insert(num);
            res = res*10 + num;
        }
        n /= 10;
    }
    return res;
}

int main(){
    int n;
    cin >> n;
    cout << erease(n);
    return 0;
}

代码中涉及了哈希表的使用。哈希表是一种数据结构,它利用哈希函数将值映射到索引位置,从而实现常数时间的插入、删除和查找操作。在这段代码中,使用了标准库中的 unordered_set 类型实现了一个哈希表。在函数 erease 中,首先创建了一个 unordered_set 类型的哈希表 hash,用于存放已经出现过的数字。然后对于传入的整数 n,不断对其取模得到最低位的数字 num,如果哈希表中没有该数字,则将其插入哈希表中,并将其加入结果 res 中。最后将 n 除以 10 进行下一次循环,直到 n 为 0。最终返回去重后的结果 res。哈希表的插入和查找操作的时间复杂度都是 O(1),因此这段代码的时间复杂度主要取决于输入数字的位数,最坏情况下需要遍历整个数字的所有位数,时间复杂度为 O(log n)。
(C++容器真滴很好用!!!)

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

HJ9 提取不重复的整数 的相关文章

  • 如何使用 VS2022 中的新控制台应用程序模板访问命令行参数

    我想知道如何访问命令行参数 因为这是在Program cs通过 Visual Studio 2022 中控制台应用程序的新模板创建文件 See https aka ms new console template for more infor
  • ASP.NET 会员电子邮件验证

    尝试基于 C 创建电子邮件验证本文 https web archive org web 20211020153319 https www 4guysfromrolla com articles 062508 1 aspx 我创建了一个 ja
  • Windows 10 UWP 中的视觉状态管理器未在页面加载时应用初始状态

    我有一个带有相关面板的页面 可以根据宽度重新组织 但是 除非宽度 gt 720px 否则它似乎不会在加载时应用任何状态 如果我在加载页面后调整页面大小 则两种状态都有效 解决方法是检查加载页面上的窗口大小并手动选择状态 但我相信这应该自动处
  • 如何自定义 ASP.Net Core 模型绑定错误?

    我只想从我的 Web API Asp net Core 2 1 返回标准化的错误响应 但我似乎不知道如何处理模型绑定错误 该项目刚刚从 ASP NET Core Web 应用程序 gt API 模板创建 我有一个简单的操作定义为 Route
  • ASP.NET Core 中 AsNoTracking 的模拟或更好的解决方法

    您如何模拟 AsNoTracking 或者是否有更好的解决方法来解决此问题 Example public class MyContext MyContextBase Constructor public MyContext DbContex
  • 使用 CMake 对 SDL 的未定义引用

    我正在使用 SDL v1 2 15 7 和 CMake 3 2 1 开发一个项目 在 h 文件中我添加了 include
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 是否可以获取指向装箱非托管值类型的指针?

    是否可以获取指向装箱非托管值类型的指针 而无需编写对每个支持的类型进行强制转换的大型 switch 语句 就像是 object val Contains a boxed unmanaged value such as int long by
  • 为什么 .Net 框架指南建议您不要使用 ref/out 参数?

    显然 他们很 混乱 这是认真的原因吗 你还能想到其他的吗 你见过有多少开发人员并不真正理解 ref out 吗 我在真正需要的地方使用它们 但在其他地方则不然 它们通常仅在您想有效返回两个或多个值时才有用 在这种情况下它至少值得thinki
  • 为什么Windsor只能拦截虚方法或接口方法?

    我正在阅读文档 发现如果不使用接口 那么 Windsor 只能拦截虚拟方法 这是 Windsor 的限制还是 C 语言的限制 我正在寻找深入的答案 C 语言在这里完全无关 问题是拦截在运行时级别如何工作 一种技术是从类继承 实现接口并将其用
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • 如何将对 System.Data.DataSetExtensions 的引用添加到网站 ascx.cs 文件?

    我们正在处理一个网站项目并尝试参考System Data DataSetExtensions 使用 Web 应用程序会更好 不过 技术主管有她的理由 这是我们尝试过的 找到装配路径 打开 Visual Studio 命令提示符并运行sn e
  • 如何在 C 预处理器中可靠地检测 Mac OS X、iOS、Linux、Windows? [复制]

    这个问题在这里已经有答案了 如果有一些跨平台 C C 代码需要在 Mac OS X iOS Linux Windows 上编译 我如何在预处理器过程中可靠地检测到它们 大多数编译器都使用预定义的宏 您可以找到列表here http sour
  • 将华氏温度转换为摄氏度的 C 程序始终打印零

    我需要一些关于用 C 语言将华氏温度转换为摄氏度的程序的帮助 我的代码如下所示 include
  • PARITY_NONE 是 C++ Windows 中的关键字吗?

    我正在使用 boost 编写一个串行库 并且我有一个枚举 enum parity t PARITY NONE PARITY ODD PARITY EVEN 我收到如下错误 错误 1 错误 C2059 语法错误 我无法弄清楚问题是什么 然后我
  • 使用 Node.js 访问用 C++ 编写的 SDK

    我有一个用 C 语言编写的 SDK 可以与我的扫描仪设备进行通信 我需要开发一个可以访问扫描仪设备的电子应用程序 我知道有很多库可用于扫描仪 但我想使用这个 SDK 因为它允许我访问设备的完整功能 而且它是由设备制造商提供的 那么 有没有什
  • std::iota 的 iota 代表什么?

    我假设 i 是增量 a 是分配 但我无法弄清楚或找到答案 而且 它看起来与非标准非常相似itoa我认为这很令人困惑 C iota is not an acronym or an initialism It is the word iota
  • 不兼容的指针到字符转换

    我正在编写一个程序 将卡片值写入 52 个点字符的多维数组中 该程序是一个测试数组 稍后我将其作为函数写入主程序中 在程序中 我通过以下方式初始化 for 循环计数0通过51 我用一个switch语句调制13将卡牌值分配给数组点 但是 我收
  • 使texture2D在运行时/脚本Unity3D中可读[重复]

    这个问题在这里已经有答案了 我有一个插件 可以让我访问 Android 手机图库中的图片 这给了我一个Texture2D类型的纹理 然后我想使用 GetPixels 函数对其进行编辑 但默认情况下它未设置为可读 如何使纹理可读 以便我可以在
  • C# 中的快速字符串解析

    在 C 中解析字符串最快的方法是什么 目前我只是使用字符串索引 string index 并且代码运行合理 但我忍不住认为索引访问器所做的连续范围检查必须添加一些东西 所以 我想知道我应该考虑哪些技术来增强它 这些是我最初的想法 问题 使用

随机推荐

  • 输入pip命令时,报错Fatal error in launcher

    因为之前也有碰到过这样一个问题 当时了解到是升级pip导致的一些错误 后来通过百度找到了一个解决方案 python m pip 只要是需要用到pip的地方 全部加上python m 好了 解决了问题 这是当时的一个解决方法 问题是解决了 当
  • 用Java代码操作RabbitMQ(包括创建和绑定)

    生产者 package com sky rabbitmq all import com rabbitmq client Channel import com rabbitmq client Connection import com rab
  • AcdbTable 例子学习笔记

    Table 例子学习笔记 在这个例子中 ARX向我们展示了ACDBTABLE类的一些基本操作方法 ACDBTABLE类是ACAD2005及其以后的产品 应该是说ACDBDATATABLE的升级产品 AcDbDataCell AcDbData
  • 判断一个list里是否有其他list------集合list的contain方法

    判断一个list里是否有其他list 最近在做项目时需要判断一个list里是否有其他list 首当其冲就直接想到了contains方法 但总是出现Bug 后面找了好久才发现是这个原因 基础太不扎实 list的contains在比较包含对象时
  • 【HarmonyOS】实现从视频提取音频并保存到pcm文件功能(API6 Java)

    关键字 视频提取类Extractor 视频编解码 保存pcm文件 写在前面 在使用API6开发HarmonyOS应用时 通常会开发一些音视频媒体功能 这里介绍如何从视频中提取音频保存到pcm文件功能 生成pcm音频文件后 就可使用音频播放类
  • ES6知识点总结——学习网站及环境搭建

    1 ES6学习网站 ES6官网 https 262 ecma international org 6 0 阮一峰ES6学习电子书 https es6 ruanyifeng com docs let W3Cschool ES6中文教程 htt
  • html5导航栏文字间距,div字间距-div内文字之间间距设置方法

    本篇文章给大家带来的内容是关于div字间距 div内文字之间间距设置方法 有一定的参考价值 有需要的朋友可以参考一下 希望对你有所帮助 div内字与字间距是否可以用CSS代码实现 答案 可以使用css实现div字间距布局 CSS字间距的单词
  • nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cann...

    org apache ibatis exceptions PersistenceException Error building SqlSession The error may exist in pojo UserMapper xml C
  • React hooks + antd前台实现input搜索框实时搜索table表格

    阅读本文前提需掌握react hooks 中useState和useEffect基本用法 详见 可选链 语法糖 文章目录 实现效果 实现步骤 1 引入 2 初始化 3 筛选数据 4 输入和展示数据 实现效果 实现步骤 1 引入 Search
  • 基于单片机语音识别智能家居系统的设计与实现

    功能介绍 以STM32单片机作为主控系统 液晶显示当前环境温湿度 用电器开关状态 通过语音模块识别设定的语音 DHT11进行环境温湿度采集 通过语音播报模块报当前温湿度 智能回复 通过语音识别可以打开灯 窗帘 电视空调等设备 整个电路以5v
  • vue项目运行后如何自动在浏览器中打开

    方法一 配置open 在根目录webpack config js或vue config js中的module exports里面配置devServer open 将open属性值设置为true即可 devServer host localh
  • 总结-深度学习中的正则化方法(regularization)

    深度学习面临的非常严重的一个问题就是过拟合 overfitting 通过一些正则化的方法 可以消除过拟合 从而使我们的模型能够得到更好的效果 1 什么是正则化 这张图 我想接触过机器学习的朋友们应该都看了很多遍了吧 我们先从回归的角度来看待
  • Java编译运行命令

    javac 编译命令 javac是用来编译 java文件的 dos窗口直接输入javac可以看到大量提示信息 提示javac命令的用法 用法 javac
  • 电脑没有摄像头怎么办

    电脑没有摄像头怎么办 电脑没有摄像头但是需要用到摄像头怎么办 没有带数据线但是需要用到手机的摄像头怎么办 下面是采用软件的方式连接电脑作为电脑摄像头的方法 1 iVcam iVCam Use mobile phone as a PC web
  • 服务器简单的命令操作系统,服务器操作系统常用命令

    服务器操作系统常用命令 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 当您发现云服务器的运行速度变慢或云服务器突然出现网
  • 一、django错误集合

    1 django core exceptions ImproperlyConfigured WSGI application LARS wsgi application could not be loaded Error importing
  • 强迫自己学习Jquery三

    元素定位问题 offset 和 position必须要好好看一下 转载于 https www cnblogs com jamesldj p 3323707 html
  • 前端系列之jQuery(jQuery选择的艺术)

    一 jQuery是什么 是一款JavaScript库 方便地处理HTML 事件 动画等 html 处理HTML文档中的DOM节点 如添加 删除等 事件 通过jQuery对页面上的事件进行处理 动画 通过jQuery实现淡入 淡出 滑动等动画
  • node中文件的上传与下载

    一 node基于Express项目实现文件的上传 1 FormData对象 以对象的方式来表示页面中的表单 又称为表单对象 以key value的方式来保存数据 XMLHttpRequest对象可以轻松的表单对象发送的服务器端 1 使用构造
  • HJ9 提取不重复的整数

    描述 输入一个 int 型整数 按照从右向左的阅读顺序 返回一个不含重复数字的新的整数 保证输入的整数最后一位不是 0 数据范围 1 n 10 8 输入描述 输入一个int型整数 输出描述 按照从右向左的阅读顺序 返回一个不含重复数字的新的