数组组成的最小数字

2023-11-09

题目:

最小数字:
给定一个整型数组,请从该数组中选择3个元素组成最小数字并输出(如果数组长度小于3,则选择数组中所有元素来组成最小数字)。

输入描述:
一行用半角逗号分割的字符串记录的整型数组,0 < 数组长度 <= 100,0 < 整数的取值范围 <= 10000。

输出描述:
由3个元素组成的最小数字,如果数组长度小于3,则选择数组中所有元素来组成最小数字。

示例 1:
输入
21,30,62,5,31
1
输出
21305
1
说明
数组长度超过3,需要选3个元素组成最小数字,21305由21,30,5三个元素组成的数字,为所有组合中最小的数字

示例 2:
输入
5,21
1
输出
215
1
说明
数组长度小于3,选择所有元素组成最小值,215为最小值

解题思路:

1.如果数组长度为1,那么直接返回这个数组元素即可。

2.如果数组长度为2,则比较这两个元素分别放在前面的大小。

3.如果数组长度大于等于3,则需要先进行排序,选出最小的三个元素组成新的数组。三个元素的排序,应该是根据字符的首字符大小进行排序,因为首字符小的数字我们应该放到前面,来使数字尽可能的小。比如:5,21,21的第一个字符为2,5为5,因此应该将21放到前面,来使字符串拼接后的值最小。

4.sort默认就是按照字符串大小进行排序,判断两个数拼接出来的结果首字符大小,从小到大进行排序。
 

代码:

function minNum(arr) {
    if(arr.length == 1) {
        return arr[0]
    }else if(arr.length == 2) {
        let num1 = arr[0].toString() + arr[1].toString()
        let num2 = arr[1].toString() + arr[0].toString()
        console.log(num1<num2?num1:num2)
    }else{
        arr.sort((a,b)=>a-b)
        let minNum = arr.slice(0,3)
        minNum.sort((a,b)=>{
            return (a.toString()+b.toString()) - (b.toString()+a.toString())
        })
        let res = ''
        for(let s of minNum) {
            res += s
        }
        console.log(res)
    }
    
}   

console.log(minNum([21,30,62,5,31]))

//打印结果:
21305

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

数组组成的最小数字 的相关文章

  • MobileSafari 的正确触摸按钮行为

    MobileSafari 通常具有不正确的 HTML 按钮行为 不正确的含义 不像 iOS 原生按钮 正确的按钮行为如下 用户触摸按钮 按钮突出显示 用户将手指拖出按钮 按钮变暗 用户将手指拖回按钮 按钮突出显示 用户将手指拖出按钮并释放
  • 浏览器安全错误:“由于安全违规,此页面无法显示”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在一家网络开发公司工作 我为我们的一些营销人员设计了一个页面 以便将自定义页脚添加到我们应用程序中的各个页面 在部署我们的产品供
  • javascript 可以从父页面访问 iframe 元素吗?

    我的页面上有 iframe iframe 和父页面位于不同的域中 父页面上的 javascript 代码可以访问此 iframe 内的元素吗 如果页面来自不同的域 则不应该这样做 浏览器安全沙箱应该阻止这种类型的访问 当两个页面来自不同的时
  • 如何在 js.erb 中使用 Ruby 代码?

    我可以使用以下方式在模态中渲染部分内容escape javascript在js erb文件代码中 body append my modal modal show 但是 我似乎无法获得以下结果 console log ERB 将输出一个纯字符
  • JavaScript 中的负数到二进制字符串

    任何人都知道为什么javascriptNumber toString https developer mozilla org en US docs JavaScript Reference Global Objects Number toS
  • 角度单元格 xlsx 着色

    我有一个问题 我想根据一个值在我的 exel 行中添加红色或绿色来下载 如何在工作表中设置指定单元格的颜色 这是处理 exel 格式的 ts 类 表达 import Injectable from angular core import a
  • 计算两列中两个总和的平均值,并将其显示在 JQGrid 的下一列中

    I m using Jqgrid with summery row at grouping level Now I want to know one thing that Is it possible to show average cal
  • 如何使用 html 标签包装 window.getSelection().getRangeAt(0) 中的文本选择?

    如何从 window getSelection getRangeAt 0 中进行选择并用 HTML 标签 例如 span 或 mark 包围它 我更喜欢直接的 javascript 或 jQuery 解决方案 我可以使用警报输出选定的文本
  • 如何在react中返回点击元素的属性?

    我想知道是否有一种简单的方法来获取单击元素的属性React js function App return
  • Bootstrap 页脚不在底部

    我试图强制我的页脚位于网站底部 我不希望它在滚动时粘住 只是在向下滚动网页时出现在底部 目前 网页显示时页脚位于内容下方 我添加了这样的代码bottom 0 并发现它粘住了并且不适合我的网站 我还添加了这样的代码html body heig
  • 使用 mongoDB 插入子文档

    我收集了以下文件 id 2 workspace name 1 widgets name 2 widgets name 3 widgets name 4 widgets 我怎样才能插入 id 1 blabla blabla 在 小部件 中的
  • 有效 JSON 上的 Firefox JSON“格式不正确”错误

    我在 Firefox 中收到以下错误消息 Error not well formed Source File http school courses booking add php 1287657494723 Line 1 Column 1
  • 在 json 对象中执行 javascript 代码?

    有远吗 所以像这样 key1 val1 key2 val2 some code document getElementById someid innerHTML test 那么 some code 会在没有任何用户干预的情况下执行吗 No
  • 为什么 jQuery 对损坏标记的解释与浏览器不同?

    我之前已经回答过这个问题 https stackoverflow com a 19101905 1253312 但我并不完全理解why答案是正确的 答案的要点 p p function jqrender html a href http w
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • JQuery mouseover 函数多次触发

    我很长时间以来一直使用这种方法来为整个类 按钮等 设置事件 div bigButton mouseover function this style backgroundColor dfdfdf 然而 在进行一些测试时 我刚刚注意到 当将鼠标
  • 提交外部有 INPUT 的表单,并修改值后

    我有一个form 有几个
  • Lighthouse 多个 URL

    我需要对一个网站进行全面审核 但我想知道是否有任何方法可以让 Lighthouse 做到这一点 我知道他们不支持完整的站点审核或多个 URL 但我发现可以使用 bash 脚本来完成 因此 我将不胜感激对此案的任何帮助 或者您可能会推荐任何灯
  • Google Maps API - 调整大小会生成空白区域

    我正在研究一个看起来非常简单的功能 但却引起了一些头痛 我使用 GIS 并将其与 Google 地图集成 其中一位客户要求能够打开一个仅显示地图的单独弹出窗口 打开窗口不是问题 但当我尝试扩展包含地图的 IFrame 的宽度时 为了适应窗口
  • 如何拦截javascript中innerHTML的变化?

    我需要拦截网页内单元格内容的任何更改 以下代码显示 addEventListener 不起作用 function modifyText alert var el document getElementById mycell el inner

随机推荐

  • 星星之火-21: 什么是小区选择/小区初选?失业状态找工作

    小区初选 是指手机在没有驻留的小区的情况下 选择一个合适的小区驻留的过程 小区初选 类似大学毕业或失业状态下找工作 基本思想是尽快找到找到工作 因此 小区选择的基本的思想是 尽快选择信号质量最好的小区 选择小区的其他条件有 选择优先级高的小
  • 多元共进|支持多元梦想,创造包容文化环境

    谷歌致力于推动多元 平等 共融 鼓励每个人赞扬自己取得的成就 了解自我展示的重要性 一起了解 2023 Google 开发者大会上 谷歌如何支持企业创造多元共融的文化 打造包容性的工作场所 为每个人创造更加温暖的环境 多元 平等 共融 DE
  • C++ 日期 & 时间

    C 标准库没有提供所谓的日期类型 C 继承了 C 语言用于日期和时间操作的结构和函数 为了使用日期和时间相关的函数和结构 需要在 C 程序中引用
  • 亚马逊AWS营收1700亿,阿里云213亿,差距巨大能追赶吗? ...

    信息科技正在从移动互联向万物互联转变 在这个新时代 国内BAT三大互联网巨头在去年纷纷调整云战略 腾讯新成立云与智慧产业事业群积极面向产业互联网转型后 继腾讯提升云服务地位后 随后阿里巴巴和百度也做出相应调整 阿里云升级为阿里云智能事业群
  • 灵星之光-1:调制解调、卷积神经网络异曲同工

    无线通信中的解调 以QAM调制为例 QAM编码的个数 类似图像分类中的类别的个数 调制的过程 类似 深度学习的过程 不同的是 通信中的模型 不需要训练 特征是直接预先编码好了 解调的过程 就是 分类的过程 根据收到的各种变形的电磁波的波形
  • Springboot中利用AOP创建日志文件log4j

    Springboot中利用AOP创建日志文件log4j pom xml文件导入依赖
  • shell 多行注释

    在写 shell 脚本的时候 经常需要注释多行命令 但在每一行前输入 很不方便 1 DOCUMENT 可以采用 HERE DOCUMENT 特性 实现多行注释 这是比较稳妥的作法 比如 bin bash lt lt COMMENT your
  • 火焰检测的相关步骤及算法综述

    引言 随着人类社会的发展进步 火灾成为了不可忽视的多发性问题 火灾一次次展示了其对于人员伤亡和财产的巨大破坏性 火灾的预防和检测一直是人类与火灾斗争过程中关注的焦点 1 近些年来 随着数字通信技术 计算机技术的发展 数字图像处理技术获得了广
  • Yolo系列目标检测 V1-V8

    当two stage proposal detection 系列的算法在目标检测界大展身手的时候 不禁会有人问道 Why we have to train proposal first 于是 便有学者展开了关于one stage算法的研究
  • 修改jupyter notebook的默认路径

    前言 由于不想占用C盘空间 所以想修改jupyter notebook的默认路径 第一次打开anaconda中自带的jupyter notebook 默认路径都是C Users Admin 自己的用户名 新建想默认打开的文件夹 在你想以后默
  • N沟道和P沟道MOS FET开关电路

    在电路中常见到使用MOS FET场效应管作为开关管使用 下面举例进行说明 如图1所示 使用了P沟道的内置二极管的电路 此处二极管的主要作用是续流作用 电路是Li电池充放电电路 当外部电源断开时采用Li电池进行内部供电 即 5V电源断开后Q1
  • python做量化交易干货分享

    python做量化交易干货分享 http www newsmth net nForum article Python 128763 最近程序化交易很热 量化也是我很感兴趣的一块 国内量化交易的平台有几家 我个人比较喜欢用的是JoinQuan
  • Java、解一元二次方程

    可以使用下面的公式求一元二次方程 ax 2 bx c 0 的两个根 r1 b b 2 4ac 2a r2 b b 2 4ac 2a b 2 4ac 称作一元二次方程的判别式 如果它是正值 那么一元二次方程就有两个实数根 如果它为 0 方程式
  • eclipse代码格式化的注释缩进问题

    未修改前ctrl shift f格式化代码 注释缩进不能和代码保持一致 拿到要被转换的字符串 Scanner scanner new Scanner System in String str scanner nextLine 通过内存流实现
  • vue3 props传入的组件无法正常刷新

    问题描述 vue3 写入的数据无法正常渲染 但是从子组件获取正常 使用props导入 解决方案 在setup导出的时候 直接导入props 而不是导入props 变量 错误用法 props var1 let var1 张三 setup re
  • phpstudy安装教程

    1 下载phpstudy 2 安装文件 3 把pikachu文件解压到phpstudy phptutorial WWW 文件名字改成pikachu 4 启动 MySQL管理器 输入账号密码 确定 5 打开浏览器 输入127 0 0 1 pi
  • 微信开放平台_第三方平台授权流程_接口调用令牌

    六 接口调用令牌 6 1 官网说明 在公众号 小程序接口调用令牌 authorizer access token 失效时 可以使用刷新令牌 authorizer refresh token 获取新的接口调用令牌 注意 authorizer
  • Qt开发环境下载和安装

    文档下载地址 https download csdn net download blackbattery 10439812 Qt是跨平台的图形开发库 目前由Digia全资子公司 Qt Company 独立运营 官方网址 http www q
  • 关于C/C++标识符、常量、变量的理解

    1 标识符是由字母和数字构成的序列 第一个字符必须是英文字母 下划线 也被看成是字母 大写字母和小写字母是不同的 标识符可以为任意长度 对于内部标识符来说 至少前31 个字母是有效的 在某些实现中 有效的字符数可能更多 2 在程序执行过程中
  • 数组组成的最小数字

    题目 最小数字 给定一个整型数组 请从该数组中选择3个元素组成最小数字并输出 如果数组长度小于3 则选择数组中所有元素来组成最小数字 输入描述 一行用半角逗号分割的字符串记录的整型数组 0 lt 数组长度 lt 100 0 lt 整数的取值