LeetCode 經典面試題 //千分位隔數
1556 | 82 | 60.0% | 簡單 |
千分位加逗號,此題加點號,一個道理
正常做法:遍歷
注意1.數字沒有length和索引,所以先轉化為字串。
注意2.不用let空陣列最後再join,直接let空字串然後字串拼接isok
注意3.索引0的時候也會新增. ,也就是說1234 => .1.234,所以注意判斷條件
注意4.不用考慮有多少個點,直接遍歷即可,我最開始就想多了,導致一致記憶體溢位
var thousandSeparator = function(n) {
let str = n.toString()
let len = str.length
// if((n+'').length < 4) return n.toString()
if(len < 4) return str
// let count = Math.ceil(len/3) - 1;
let arr = '';
for(let i = 0; i < len; i++) {
if((len-i)%3 == 0 && i != 0) {
arr += '.'
// count--;
}
arr += str[i];
}
return arr
// let str = n.toString()
// let len = str.length
// // if((n+'').length < 4) return n.toString()
// if(len < 4) return str
// let count = Math.ceil(len/3) - 1;
// let arr = [];
// while(count) {
// for(let i = 0; i < len; i++) {
// if((len-i)%3 == 0) {
// arr.push('.',str[i])
// count--;
// } else {
// arr.push(str[i]);
// }
// }
// }
// return arr.join('')
};
非常規操作:正則
var thousandSeparator = function(n) {
return (n+'').replace(/(?!^)(?=(\d{3})+$)/g,'.')
};
雖然基本用不到,但可取的地方:n+'' 即可把數字n化為字串,無需用n.toString()
dalao寫的很詳細:
https://leetcode-cn.com/problems/thousand-separator/solution/zheng-ze-wei-zhi-pi-pei-by-shetia/
相關文章
- 千分位分隔數字並自定義保留小數位數
- 數字千分位分隔程式碼例項
- 千分位分隔函式函式
- LeetCode 74,直擊BAT經典面試題LeetCodeBAT面試題
- 經典面試題面試題
- java經典面試題Java面試題
- javascript經典面試題JavaScript面試題
- Js 經典面試題JS面試題
- Google經典面試題解析Go面試題
- 經典Java面試題收集Java面試題
- C++經典面試題C++面試題
- 經典SQL面試題1SQL面試題
- 經典SQL面試題2SQL面試題
- [面試題]事件迴圈經典面試題解析面試題事件
- 前端面試必備-40道LeetCode經典面試演算法題前端面試LeetCode演算法
- LeetCode經典題-篇一LeetCode
- 20道JavaScript經典面試題JavaScript面試題
- JavaScript經典面試題詳解JavaScript面試題
- 前端經典面試題(有答案)前端面試題
- 經典Java面試題收集(二)Java面試題
- BAT經典面試題彙總BAT面試題
- 經典C/C++面試題C++面試題
- C/C++經典面試題面試題
- SQL經典面試題及答案SQL面試題
- Runtime經典面試題(附答案)面試題
- Python經典面試題(附答案)!Python面試題
- PHP經典面試題,有答案哦PHP面試題
- 多執行緒經典面試題執行緒面試題
- Java經典面試題-不古出品Java面試題
- Spark 經典面試題彙總《一》Spark面試題
- 經典演算法面試題(二)演算法面試題
- C# 千分位與兩位小數點C#
- 智力題(程式設計師面試經典)程式設計師面試
- 軟體測試經典面試題(1)面試題
- 軟體測試經典面試題(3)面試題
- Java經典面試題(二)-不古出品Java面試題
- 前端js和css的經典面試題前端JSCSS面試題
- jQuery經典面試題及答案精選jQuery面試題