整形数组按个位值排序js

【OJ刷题 |华为机试题】 数组合并 数组排序 最长的指定瑕疵度的元音字串 阅读详情

题目: 

给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。

解题思路:

1.使用哈希表存储数组元素取模后的结果,对数组元素的绝对值进行%10,直到取模结果小于10为止。

2.通过自定义排序,根据数组元素的取模结果大小来进行排序。

代码:

function sortArray(arr) {
    const map = new Map()
    for(let i = 0 ; i < arr.length ; i++) {
            let num = Math.abs(arr[i])
            while(Math.abs(arr[i]) > 10 && num>10) {
                num %= 10
            }      
        map.set(arr[i],num)
    }
    let newArr = arr.sort((a,b)=>{
        return map.get(a) - map.get(b)
    })
    return newArr
}

console.log(sortArray([1,2,5,-21,22,11,55,-101,42,8,7,32]))


//打印结果如下:
[
  1, -21, 11, -101,
  2,  22, 42,   32,
  5,  55,  7,    8
]

华为OD机试真题Java实现【整型数组个位值排序】真题+解题思路+代码(2022&2023) 涉及的主要集合有Map和StringBuilder,主要的知识点包括Scanner类的使用、Java基础语法、集合框架以及异常处理等。给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。给定一个非空数组,其元素数据类型为32位有符号整数,数组长度[1, 1000]当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。试题来源:华为 OD 联盟整理收集。 阅读详情

相关推荐

【华为OD机试真题】195、整型数组个位值排序 | 机试真题+思路参考+代码分析(C语言、C++、Java、Py、JS

>给定一个非空数组(列表), 其元素数据类型为整型, 请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变 >  当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位

KJ.JK 1222

hdfs shell的基本操作和hdfsWeb查看文件

hdfs shell, hdfsWebhdfs基本操作查询命令创建新的空文件创建文件增加文件查看文件内容复制文件删除文件或文件夹重命名将源目录下的所有文件排序合并到一个本地文件 hdfs基本操作 查询命令 $ hadoop dfs -ls / 查询 / 目录下的所有文件和文件夹 $ hadoop dfs -ls -R 以递归的方式 创建新的空文件 hdfs dfs -mkdir /t...

wendaocp的博客 955

【华为OD统一考试B卷 | 100分】 整型数组个位值排序(C++ Java JavaScript Python

第一轮计数出列数字为 2,计数值更新 m=2,出列后数列为 3,1,4,从数值 4 所在位置从新开始计数。比如:输入的随机数列为:3,1,2,4,初始计数值 m=7,从数列首位置开始计数(数值 3 所在位置)第二轮计数出列数字为 3,计数值更新 m=3,出列后数列为 1,4,从数值 1 所在位置开始计数。第三轮计数出列数字为 1,计数值更新 m=1,出列后数列为 4,从数值 4 所在位置开始计数。输出数值出列顺序为:2,3,1,4。从数列首位置开始计数,计数到 m 后,将数列该位置数值替换计数值 m,

2301_77273748的博客 1958

对整型数组进行排序

int compare_int(const void* a, const void* b) { int arg1 = *(const int*)a; int arg2 = *(const int*)b; if (arg1 > arg2) { return 1; } else if (arg1 > arg2) { return -1; } else { return 0; } } void show(int* arr, int len) { for (int .

weixin_58368590的博客 1130

1005 继续(3n+1)猜想 (25 分) Java练习&PTA乙级 hashset数组 & arraylist自定义排序

1. hashset 数组的运用 2. arraylist 自定义排序 import java.lang.reflect.Array; import java.math.BigInteger; import java.net.StandardSocketOptions; import java.util.ArrayList; import java.util.Arrays; imp...

床前明月光 423

算法题】整型数组个位值排序js

【代码】【算法题】整型数组个位值排序js

qq_43682422的博客 131

【华为OD机试真题2023B卷 JAVA&JS】整型数组个位值排序

整型数组个位值排序 给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。

qq_34465338的博客 1101

排序算法 基数排序

转自:http://blog.csdn.net/yabber0914/article/details/52279537 (一)基数排序的思想: 不直接比较数与数的大小。把待排序的整数按位分,分为个位,十位…..从小到大依次将位数进行排序。 实际上分为两个过程:分配和收集。 分配就是:从个位开始,按位数从小到大把数据排好,分别放进0–9这10个桶中; 收集就是:依次将0-9桶中的数据放进数...

不远远方 310

【100%通过率】华为OD机试真题 Python【数字最低位排序】【最低位排序

2023华为OD机试真题 Python【数字最低位排序】【最低位排序】 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位

MISAYAONE的博客 1833

华为机试C语言-整形数组个位值排序

华为机试C语言

weixin_39273426的博客 440

整型数组个位值排序

已支持(Java & JS & Python & C & C++),考察排序

CSDN 6954

排序算法

排序:将一连串记录按照关键字的大小(从大到小或从小到大)进行排列。 稳定性:如果两个大小相同的关键字的相对位置在排序前和排序后是一样的(Ai等于Aj,排序前Ai 在Aj的前面,排序后Ai 还是在Aj的前面),那么这种算法就是稳定的。 稳定的排序算法有:冒泡排序、直接插入排序、归并排序、基数排序 不稳定的排序算法有:选择排序、快速排序、希尔排序、堆排序 冒泡排序

EmSoftEn的专栏 1096

常见的排序方法以及C++实现

时间复杂度与空间复杂度: 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度; 算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级 1:冒泡排序 思想:两两比较相邻记录,反序则往后移动,正序则不动 传统冒泡排序 void BubbleSort(vector<int> &v) { int len = v.size(); for (int i = 0; i ...

A_luka的博客 1049

Java List 排序

Java List 排序 整形排序和对象排序是不一样的,整形列表排序,可以实现想要的排序。 字符串类型内容比较,就是按照字符的每个askii码比较。可自定义Comparator 参考连接: Java List 排序 java中Comparator自定义排序 ...

weixin_48164819的博客 268

【华为机试真题 JAVA】整型数组个位值排序-100

给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。 当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。

weixin_52894047的博客 482

【华为机试真题 Python实现】整型数组个位值排序

给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值 注意:两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元素。 输入描述: 输入两行数组array1、array2,每行首个数字为数组大小size(0 < size <= 100); 0 < array1[i] <= 1000 0 < array2[i] <

1495

将一维整型数组中各元素排序排序的方法是:根据去掉最高位数字后余下的数值 按从小到大的顺序对原数据排序,最后显示排序后的原数据。,20数组( 134, 4029)最后输出(4029,134)

#include<iostream> using namespace std; class KB { private: int a[5] ;//待排序数组。 int n;//成员数组a实际元素个数 public: KB(int t[],int n1)//构造函数,初始化数据成员。 { n=n1; for(int i=0;i<n;i++) a[...

zzzzzkkk的博客 1245

Java中整数数组排序方法

一、正序排列(从小到大) public class IntNums { public static void main(String[] args) { int[] nums = {1,4,2,3}; Arrays.sort(nums); for(int i = 0; i < nums.length; i++){ System.out.println("第i位: " + i + " 元素为" + nums[i])

sinat_34241861的博客 6015
上一篇: 勾股数元组js
下一篇: 数组组成的最小数字
G1useppE
博客等级 码龄5年 14粉丝 · 38原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值