摘要:若提供比較函數(shù)返回值返回值不變返回值交換位置升序排列后,再利用反序?qū)⒆址D(zhuǎn)換為可選參數(shù),表示進(jìn)制。規(guī)定使用,但是并不是所有的瀏覽器都遵循這個(gè)規(guī)定。因此,永遠(yuǎn)都要明確給出參數(shù)的值。若傳入的字符串中含有非數(shù)字字符,將返回。
原題目
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
題目:將一個(gè)正整數(shù)里的數(shù)字按照降序排列。
思路:
將數(shù)字轉(zhuǎn)化為字符串
將字符串變成數(shù)組
將數(shù)組中的元素按照降序排列,然后拼接成字符串
將字符串轉(zhuǎn)化為數(shù)字
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("")) }對(duì)比 1. 將數(shù)字轉(zhuǎn)化為字符串
(1) .toString([radix]) 可以將除了 null 和 undefined的對(duì)象都轉(zhuǎn)換為字符串
radix: 可選參數(shù),表示進(jìn)制
var a; a.toString(); // Uncaught TypeError: Cannot read property "toString" of undefined a = null; a.toString(); // Uncaught TypeError: Cannot read property "toString" of null a = 10; a.toString(2); // "1010" a = {name: "Alice", age: "1"}; a.toString(); // "[object Object]"
(2) String() 可以將 null 和 undefined 轉(zhuǎn)換為字符串,但是沒法轉(zhuǎn)進(jìn)制字符串
var b; String(b); // "undefined" b = null; String(b); // "null" b = {name: "Alice", age: "1"}; String(b); // "[object Object]"2. 數(shù)組降序
(1) arrayObject.sort([sortby]) 傳入比較函數(shù)sortby,直接降序排列
當(dāng)參數(shù) sortby 不存在時(shí)是按照字符編碼的順序進(jìn)行排序。
若提供比較函數(shù) function(x, y){ return 返回值; }
返回值 <= 0: x, y 不變
返回值 > 0: x, y 交換位置
(2) sort()升序排列后,再利用reverse()反序
3. 將字符串轉(zhuǎn)換為Number(1) parseInt(string, [radix])
radix:可選參數(shù),表示進(jìn)制。在不指定radix的情況下:
如果字符串 string 以"0x"或者"0X"開頭, 則基數(shù)是16 (16進(jìn)制).
如果字符串 string 以"0"開頭, 基數(shù)是8(八進(jìn)制)或者10(十進(jìn)制),那么具體是哪個(gè)基數(shù)由實(shí)現(xiàn)環(huán)境決定。ECMAScript 5 規(guī)定使用10,但是并不是所有的瀏覽器都遵循這個(gè)規(guī)定。因此,永遠(yuǎn)都要明確給出radix參數(shù)的值。
如果字符串 string 以其它任何值開頭,則基數(shù)是10 (十進(jìn)制)。
如果第一個(gè)字符不能被轉(zhuǎn)換成數(shù)字,parseInt返回NaN。
(2) Number(str): 若傳入的字符串中含有非數(shù)字字符,將返回NaN。
(3) + 運(yùn)算符,強(qiáng)制類型轉(zhuǎn)換
除此之外,將String轉(zhuǎn)換為Number還可使用
(4) 運(yùn)算符 -、*、/ 都可以進(jìn)行強(qiáng)制類型轉(zhuǎn)換
(5) ~~ 按位非運(yùn)算符
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88782.html
摘要:原題目題目有一個(gè)不少于四個(gè)元素的數(shù)組,計(jì)算其中兩個(gè)最小值的和。對(duì)比我寫的方法比較常規(guī),中采用了的解構(gòu)賦值和箭頭函數(shù) 原題目 Create a function that returns the sum of the two lowest positive numbers given an array of minimum 4 integers. No floats or empty ...
摘要:和唯一的不同是組合中不能存在重復(fù)的元素,因此,在遞歸時(shí)將初始位即可。 Combination Sum I Problem Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T...
Subsets Problem Given a set of distinct integers, return all possible subsets. Notice Elements in a subset must be in non-descending order.The solution set must not contain duplicate subsets. Example ...
摘要:深度優(yōu)先搜索復(fù)雜度時(shí)間空間遞歸??臻g思路這道題可以轉(zhuǎn)化為一個(gè)類似二叉樹的深度優(yōu)先搜索。另外需要先排序以滿足題目要求。新的集合要一個(gè)新的,防止修改引用。 Subset I Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must be in n...
摘要:原題目題目找出一個(gè)數(shù)值該數(shù)值將以字符串的形式傳入中最大的五位數(shù)。如果數(shù)字的位數(shù)小于,則直接返回該數(shù)值如果數(shù)字的位數(shù)不小于六位,則依次截取連續(xù)的位數(shù),求取最大值對(duì)比中使用了遞歸。 原題目 In the following 6 digit number:28391091 is the greatest sequence of 2 digits. In the following 10 di...
閱讀 2979·2021-09-26 10:18
閱讀 5309·2021-09-22 15:02
閱讀 2809·2019-08-30 15:53
閱讀 1856·2019-08-29 18:41
閱讀 2706·2019-08-27 10:58
閱讀 2639·2019-08-26 13:49
閱讀 2763·2019-08-26 12:17
閱讀 912·2019-08-26 11:49