js ~~ operator All In One
取整
- 正数,向下取整 ✅
//
~~ 2.1
// 2
~~ 2.9
//2
~~ 0.5;
// 0
- 负数,向上取整 ✅
~~ -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, 禁止转载 ️,侵权必究⚠️!