【前端算法】6 和 9 組成的最大數字,replace和indexOf

給你一個僅由數字 6 和 9 組成的正整數 numcode

你最多隻能翻轉一位數字,將 6 變成 9,或者把 9 變成 6 。blog

  • 請返回你能夠獲得的最大數字。
示例 1:
輸入:num = 9669
輸出:9969
解釋:
改變第一位數字能夠獲得 6669 。
改變第二位數字能夠獲得 9969 。
改變第三位數字能夠獲得 9699 。
改變第四位數字能夠獲得 9666 。
其中最大的數字是 9969 。
示例 2:
輸入:num = 9996
輸出:9999
解釋:將最後一位從 6 變到 9,其結果 9999 是最大的數。
示例 3:
輸入:num = 9999
輸出:9999
解釋:無需改變就已是最大的數字了。

提示:
 `1 <= num <= 10^4`
`num` 每一位上的數字都是 6 或者 9 。

解題思路:圖片

  • 1.replace替換
  • 2.直接將第一個6轉換成9;

1.正則

var maximum69Number  = function(num) {
	 return Number(String(num).replace('6','9'))
};

2.直接將第一個6轉換成9;

var maximum69Number = function(num) {
	let index = num.toString().indexOf('6');
	num = num.toString().split('');
	num[index] = '9';
	return Number(num.join(''))
};

執行用時:it

圖片.png

相關文章
相關標籤/搜索