blog

リートコード-66-プラス-ワン-JavaScriptの実装

空でない整数の配列で表された負でない整数が与えられたとき、その数に1を足します。 最も大きい桁が配列の一番上に格納され、配列の各要素には1桁だけが格納されます。 整数 0 以外は 0 で始まらないもの...

Aug 15, 2020 · 1 min. read
シェア

問題の説明

空でない整数の配列で表された負でない整数が与えられたとき、その数に1を足します。最も大きい桁が配列の一番上に格納され、配列の各要素には1桁だけが格納されます。整数0を除いて、整数が0から始まることはないと仮定できます。

例:入力:[1,2,3] 出力:[1,2,4] 説明:入力配列は123を表します。

解答:

.配列に1を足すと言われているのは、実は数学の足し算の丸め問題に似ています。

考慮すべき点は3つあります:

---下1桁が9の場合、0に切り上げられます;

---下1桁が9でない場合は++;

----上記の2点を満たさない場合は9999となり、1桁目が1、下4桁が0となります;

コード上:

function addOne(arr)
{
 var len = arr.length;
 for(let i =len-1;i>=0;i--)
 {
 if(arr[i]===9)
 {
 arr[i] = 0;
 }else{
 arr[i]++;
 return arr;
 }
 }
 arr[0] = 1;
 arr.forEach(element => {
 element =0;
 });
 arr.push(0);
 //加算する2つの方法
 // for(let i=1;i<=len;i++)
 // {
 // arr[i] = 0;
 // }
 return arr;
}

テストコード:

var a = [4,3,2,1]
var b = [9,9,9,9];
console.log(addOne(a));
console.log("b:"+addOne(b));





Read next

JavaScript入門

1.機能優先の軽量なインタープリタ型またはジャストインタイム・コンパイル型の高水準プログラミング言語です。ウェブページを開発するためのスクリプト言語として知られていますが、ブラウザ以外の多くの環境、プロトタイプベースのプログラミング、マルチパラダイム動的スクリプト言語、...

Aug 14, 2020 · 1 min read

オープンサイン

Aug 14, 2020 · 1 min read

leetcodeのGo言語実装

Aug 14, 2020 · 1 min read

Mybatis学習

Aug 13, 2020 · 2 min read