【7 kyu】Descending Order
原题目
Your task is to make a function that can take any non-negative integer as a argument and return it with it's digits in descending order. Essentially, rearrange the digits to create the highest possible number.
Examples:
Input: 21445 Output: 54421
Input: 145263 Output: 654321
Input: 1254859723 Output: 9875543221
题目:将一个正整数里的数字按照降序排列。
思路:
将数字转化为字符串
将字符串变成数组
将数组中的元素按照降序排列,然后拼接成字符串
将字符串转化为数字
My Solution:
function descendingOrder(n){var str = n.toString();str = str.split('').sort(function(x, y) {return y-x});return parseInt(str.join(''))
}
Clever Solution
function descendingOrder(n){return parseInt(String(n).split('').sort().reverse().join(''))
}
对比
1. 将数字转化为字符串
(1) .toString([radix])
可以将除了 null
和 undefined
的对象都转换为字符串
radix: 可选参数,表示进制
var a;a.toString();
// Uncaught TypeError: Cannot read property 'toString' of undefineda = null;
a.toString();
// Uncaught TypeError: Cannot read property 'toString' of nulla = 10;
a.toString(2); // "1010"a = {name: 'Alice', age: '1'};
a.toString(); // "[object Object]"
(2) String()
可以将 null
和 undefined
转换为字符串,但是没法转进制字符串
var b;
String(b); // "undefined"b = null;
String(b); // "null"b = {name: 'Alice', age: '1'};
String(b); // "[object Object]"
2. 数组降序
(1) arrayObject.sort([sortby])
传入比较函数sortby,直接降序排列
当参数 sortby
不存在时是按照字符编码的顺序进行排序。
若提供比较函数 function(x, y){ return 返回值; }
返回值 <= 0: x, y 不变
返回值 > 0: x, y 交换位置
(2) sort()
升序排列后,再利用reverse()
反序
3. 将字符串转换为Number
(1) parseInt(string, [radix])
radix:可选参数,表示进制。在不指定radix的情况下:
如果字符串 string 以"0x"或者"0X"开头, 则基数是16 (16进制).
如果字符串 string 以"0"开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。因此,永远都要明确给出radix参数的值。
如果字符串 string 以其它任何值开头,则基数是10 (十进制)。
如果第一个字符不能被转换成数字,parseInt返回NaN。
(2) Number(str)
: 若传入的字符串中含有非数字字符,将返回NaN
。
(3) +
运算符,强制类型转换
除此之外,将String转换为Number还可使用
(4) 运算符 -
、*
、/
都可以进行强制类型转换
(5) ~~
按位非运算符
【7 kyu】Descending Order相关推荐
- UVALive - 3055 Symmetric Order【水题】【STL】
[题目描述] In your job at Albatross Circus Management (yes, it's run by a bunch of clowns), you have jus ...
- NUC1840 Graveyard Design【尺取法】
Graveyard Design 时间限制: 10000ms 内存限制: 64000KB 通过次数: 1总提交次数: 1 问题描述 King George has recently decided t ...
- 【杨镇】【中译修订版】以太坊的分片技术官方介绍
杨镇,资深软件架构师,资深开发工程师.以太坊技术爱好者与布道者. 是Solidity官方文档中译项目的重要贡献者,以太坊Homestead官方文档中文版译者,并对以太坊黄皮书中文版.Thunder共识 ...
- 经典算法书籍推荐以及算法书排行【算法四库全书】
经典算法书籍推荐以及算法书排行[算法四库全书] 作者:霞落满天 https://linuxstyle.blog.csdn.net/ https://blog.csdn.net/21aspne ...
- 数据结构之【线性表】(顺序表、链表的基本操作实现)
概念 线性表:是N个数据元素的有限序列. 顺序表:用一组地址连续的存储单元依次存储[线性表 ]的数据元素.(区别于有序表:表中的数据元素存在非递增或非递减有序) 链表:用一组任意的存储单元来存储[线性 ...
- 【算法导论】【ACM】归并排序总结
许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关地若干子问题.这些算法典型的遵循分治法地思想:将原问题分解成几个规模较小但类似于原问题的子问题,递归 ...
- 2008年上半年 网络工程师 上下午试卷【附带答案】
2004-2017年真题+答案[0.23RMB]自取 2008年上半年 网络工程师 上午试卷 ● 内存采用段式存储管理有许多优点,但 (1) 不是其优点. (1)A.分段是信息逻辑单位,用户不可见 ...
- 【文本分类】Deep Pyramid Convolutional Neural Networks for Text Categorization
·阅读摘要: 本文提出了DPCNN(深度金字塔CNN)模型.在transformer.bert还没兴起的年代,模型越深效果越好,但是模型的复杂度会随着深度提升.粗略地说,DPCNN就是为了解决CN ...
- 【POJ 2482】 Stars in Your Window(线段树+离散化+扫描线)
[POJ 2482] Stars in Your Window(线段树+离散化+扫描线) Time Limit: 1000MS Memory Limit: 65536K Total Submiss ...
- sql and和in能连用吗_解析法律英语中【同义词连用】现象
在法律英语中常常会出现多个同义词连用的现象(一般是两词或三词),其被称为"Doublets and Triplets in English Legal Language". 解析法 ...
最新文章
- 怎么样设置关闭网页再次登录网页是正常登录状态_学籍系统出现“该账号已登录,不能重复登录”怎么办?...
- python——面向对象进阶之新增属性和方法
- javax.xml.bind.UnmarshalException: 意外的元素 (uri:, local:xml)。所需元素为(none)
- matlab simulnk笔记07——模块(接地模块group、终止模块terminal、信号合并mux与分解模块demux)
- python读压缩文件内容_Python读写压缩文件的方法
- Oracle宣布在云上正式上线 自治事务处理数据库
- 托管项目到github
- ssh不能进入save方法_如何 SSH 登录到 Linux 上的特定目录
- 测试金士顿固态硬盘软件,金士顿固态硬盘管理工具(Kingston SSD Manager)
- 计算机 海底世界 教案,海底世界教学反思?海底世界儿童画?鱼鱼桌面海底世界...
- powerdesigner中cmd模型中多对多_[进行中]美的多多进宝日
- IDEA--Mybatis插件
- python 多行注释 快捷键
- 【程序员金典】字符串互异
- 无所遁形——快把你的口罩戴上(口罩识别)
- Criteria条件查询
- mysql中设置时区
- Drupal7_2:安装drupal
- laravel5.5+资源控制器
- matlab 裕度指令,稳定裕度的计算开环传递函数Matlab命令num.PPT
热门文章
- csp怎么给线条描边_UI设计风格解析之MBE描边线条设计风格
- 上古卷轴5:重制版AFT管理随从导致瑟拉娜Serana有关的MOD眼睛变金色的问题解决
- three 星空穿梭,常见的星空星星移动
- python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...
- 51单片机点亮LED灯、流水灯
- 欢迎清风艾艾在ITPUB博客安家!
- php调用微信公众号支付接口,Thinkphp实现微信公众号支付接口
- 精囊妙计 -- 策略模式(Strategy Pattern) 介绍 优缺点 使用场景案例及代码演示
- oracle rac告警,oracle11.2.0.4 RAC 日志总有告警
- python脚本1 - PPT导出为图片(WinLinux)