将杂乱无章的数字排序
题目
给你一个下标从 0 开始的整数数组 mapping ,它表示一个十进制数的映射规则,mapping[i] = j 表示这个规则下将数位 i 映射为数位 j 。
一个整数 映射后的值 为将原数字每一个数位 i (0 <= i <= 9)映射为 mapping[i] 。
另外给你一个整数数组 nums ,请你将数组 nums 中每个数按照它们映射后对应数字非递减顺序排序后返回。
注意:
如果两个数字映射后对应的数字大小相同,则将它们按照输入中的 相对顺序 排序。
nums 中的元素只有在排序的时候需要按照映射后的值进行比较,返回的值应该是输入的元素本身。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sort-the-jumbled-numbers
输入:mapping = [8,9,4,0,2,1,3,5,7,6], nums = [991,338,38]
输出:[338,38,991]
解释:
将数字 991 按照如下规则映射:
- mapping[9] = 6 ,所有数位 9 都会变成 6 。
- mapping[1] = 9 ,所有数位 1 都会变成 8 。
所以,991 映射的值为 669 。
338 映射为 007 ,去掉前导 0 后得到 7 。
38 映射为 07 ,去掉前导 0 后得到 7 。
由于 338 和 38 映射后的值相同,所以它们的前后顺序保留原数组中的相对位置关系,338 在 38 的前面。
所以,排序后的数组为 [338,38,991] 。
思路
考察点,排序,to_string、atoi
代码
class Solution {public:vector<int> sortJumbled(vector<int>& mapping, vector<int>& nums) {// 考察点,排序,to_string、atoiint n=nums.size();vector<pair<int,int>> mp;vector<int> ans;for(int i=0;i<n;i++){string temp=to_string(nums[i]);string t;for(int j=0;j<temp.size();j++){t+=to_string(mapping[temp[j]-'0']);}mp.push_back(make_pair(atoi(t.c_str()),nums[i]));}sort(mp.begin(),mp.end(),[](pair<int,int> &p1,pair<int,int>& p2){return p1.first<p2.first;});for(int i=0;i<n;i++){ans.push_back(mp[i].second);}return ans;}
};
将杂乱无章的数字排序相关推荐
- LeetCode 2191. 将杂乱无章的数字排序(自定义排序)
文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 mapping ,它表示一个十进制数的映射规则,mapping[i] = j 表示这个规则下将数位 i 映射为数位 j ...
- leetcode 将杂乱无章的数字排序
给你一个下标从 0 开始的整数数组 mapping ,它表示一个十进制数的映射规则,mapping[i] = j 表示这个规则下将数位 i 映射为数位 j . 一个整数 映射后的值 为将原数字每一个数 ...
- mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- BitSet 数字排序
2019独角兽企业重金招聘Python工程师标准>>> BitSet 数字排序 博客分类: java package tree2; import java.util.BitSet;p ...
- 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序
1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...
- Mysql字符串截取 mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- 生活中c语言排序案例,C语言之数字排序-基于冒泡排序法的一些案例(对未知数量的数字进行排序)...
C语言之数字排序 在学习C语言的时候遇到了几个比较基础的排序问题,又结合了之前的处理方法.觉得在这个需要再系统地进行复习一下. 当我们在初学C语言的时候,我们都会结合三个数字的排序来理解计算机处理问题 ...
- 基于Hadoop 2.6.0运行数字排序的计算
上个博客写了Hadoop2.6.0的环境部署,下面写一个简单的基于数字排序的小程序,真正实现分布式的计算,原理就是对多个文件中的数字进行排序,每个文件中每个数字占一行,排序原理是按行读取后分块进行排序 ...
- CCF201503-2 数字排序
问题描述: 试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺 ...
最新文章
- MBA 工商管理课程-风险型决策方法
- 高亚芳 mysql_MySQL · 专家投稿 · MySQL数据库SYS CPU高的可能性分析
- java socket 如何设置so_keepalive属性_socket通信的KeepAlive设定
- Android之jni出现JNIEnv has no member named ‘GetMehtodID‘解决办法
- 生物数据库建设,等你来~
- SpringBoot 的属性配置文件
- 随机排列算法(Fisher-Yates)
- imp执行错误IMP-00010
- 电池SOC预估存在哪些难题以及常用方法
- Vue项目设置浏览器小图标
- iOS 视频边下边播
- 修复常见ACPI问题(DSDT等)
- Linux设备驱动开发详解 第3版 (即 Linux设备驱动开发详解 基于最新的Linux 4 0内核 )前言
- QCustomPlot 示例实践--带填充的简单衰减正弦函数及其红色的指数包络
- Kaggle手机验证manually verified
- java_springboot水果购物商城销售管理系统
- 施努卡:机器人视觉传感器原理(视觉传感器公司)
- 如何搭建动态IP池?手把手教你3种方法!
- Lazada新手批量发布产品快速铺货详细教程:
- ITU-T的Recommendation和IETF的RFC标准文档的下载地址