js ~~ operator All In One

js ~~ operator All In One

取整

  1. 正數,向下取整 ✅
// 
~~ 2.1
// 2
~~ 2.9
//2

~~ 0.5;
// 0

  1. 負數,向上取整 ✅
~~ -2.9
// -2
~~ -2.1
// -2

~~ -0.5;
// 0

Math

Math.ceil & Math.floor

Math.ceil(-2.9)
// -2

Math.floor(2.9)
// 2

demo

/**
 * @param {number} num
 * @return {number}
 */
var minimumSum = function(num) {
    const arr = [];
    for(let i = 0; i < 4; i++){
        // ~~ 先取整,% 再取餘 ✅
        arr.push(~~num % 10);
        // 除 10, 可能存在小數
        num /= 10;
    }
    // sort 方法會修改數組本身,不需要聲明新的存儲空間了
    // a - b 生序, 等價於 arr.sort((a,b) => a - b > 0 ? 1 : -1);
    arr.sort((a,b) => a - b);
    // 取最小的兩位作爲十位;後兩位作爲個位;
    return 10 * (arr[0] + arr[1]) + arr[2] + arr[3];
};
/**
 * @param {number} num
 * @return {number}
 */
var minimumSum = function(num) {
  const arr = [...`${num}`].map(Number).sort((a,b) => a - b);
  // const arr = [...`${num}`].map(Number).sort((a,b) => a - b > 0 ? 1 : -1);
  return arr[0] * 10 + arr[2] + arr[1] * 10 + arr[3]
};


var minimumSum = function(num) {
  const arr = [...`${num}`].sort((a,b) => a - b);
  return parseInt(`${arr[0]}${arr[2]}`) + parseInt(`${arr[1]}${arr[3]}`)
};

2160. 拆分數位後四位數字的最小和
2160. Minimum Sum of Four Digit Number After Splitting Digits

https://leetcode.com/problems/minimum-sum-of-four-digit-number-after-splitting-digits/

refs



©xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 發佈文章使用:只允許註冊用戶纔可以訪問!

原創文章,版權所有©️xgqfrms, 禁止轉載 🈲️,侵權必究⚠️!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章