成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【7 kyu】Descending Order

ls0609 / 2453人閱讀

摘要:若提供比較函數(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]) 可以將除了 nullundefined的對(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() 可以將 nullundefined 轉(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

相關(guān)文章

  • 7 kyu】Sum of two lowest positive integers

    摘要:原題目題目有一個(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 ...

    fjcgreat 評(píng)論0 收藏0
  • [LintCode/LeetCode] Combination Sum I & II

    摘要:和唯一的不同是組合中不能存在重復(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...

    ThreeWords 評(píng)論0 收藏0
  • [LintCode/LeetCode] Subsets & Subsets II

    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 ...

    tracy 評(píng)論0 收藏0
  • [Leetcode] Subset 子集

    摘要:深度優(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...

    hzc 評(píng)論0 收藏0
  • 【5 kyu】Largest 5 digit number in a series

    摘要:原題目題目找出一個(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...

    impig33 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<