国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【7 kyu】Descending Order

ls0609 / 2443人閱讀

摘要:若提供比較函數返回值返回值不變返回值交換位置升序排列后,再利用反序將字符串轉換為可選參數,表示進制。規定使用,但是并不是所有的瀏覽器都遵循這個規定。因此,永遠都要明確給出參數的值。若傳入的字符串中含有非數字字符,將返回。

原題目

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]) 可以將除了 nullundefined的對象都轉換為字符串

radix: 可選參數,表示進制

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 轉換為字符串,但是沒法轉進制字符串

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) ~~ 按位非運算符

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88782.html

相關文章

  • 7 kyu】Sum of two lowest positive integers

    摘要:原題目題目有一個不少于四個元素的數組,計算其中兩個最小值的和。對比我寫的方法比較常規,中采用了的解構賦值和箭頭函數 原題目 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 評論0 收藏0
  • [LintCode/LeetCode] Combination Sum I & II

    摘要:和唯一的不同是組合中不能存在重復的元素,因此,在遞歸時將初始位即可。 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 評論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 評論0 收藏0
  • [Leetcode] Subset 子集

    摘要:深度優先搜索復雜度時間空間遞歸棧空間思路這道題可以轉化為一個類似二叉樹的深度優先搜索。另外需要先排序以滿足題目要求。新的集合要一個新的,防止修改引用。 Subset I Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must be in n...

    hzc 評論0 收藏0
  • 【5 kyu】Largest 5 digit number in a series

    摘要:原題目題目找出一個數值該數值將以字符串的形式傳入中最大的五位數。如果數字的位數小于,則直接返回該數值如果數字的位數不小于六位,則依次截取連續的位數,求取最大值對比中使用了遞歸。 原題目 In the following 6 digit number:28391091 is the greatest sequence of 2 digits. In the following 10 di...

    impig33 評論0 收藏0

發表評論

0條評論

ls0609

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<