Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで最も少ないコインで合計する


問題

最初の引数としてarr、arrを受け取るJavaScript関数を作成する必要があります。この配列は基本的に、私たちが持っているさまざまな種類の硬貨を指定します。

関数の2番目の引数は、合計する量を指定する数値、amountです。この関数は、合計するのに必要な最小数のコインを返すだけです。

決して金額に達することができない場合は、-1を返す必要があります。

たとえば、関数への入力が-

の場合
const arr = [1, 2, 5];
const amount = 17;

その場合、出力は-

になります。
const output = 4;

出力の説明:

なぜなら、5枚のコイン3枚と2枚のコイン1枚で金額を達成できるからです。

このためのコードは-

になります
const arr = [1, 2, 5];
const amount = 17;
const minCoins = (arr = [], amount = 1) => {
   const changes = [];
   changes[0] = 0;
   while(changes.length <= amount){
      let change = Math.pow(2, 31) - 1;
      for (let i = 0; i < arr.length; i++) {
         if (changes.length - arr[i] < 0){
            continue;
         };
         change = Math.min(change, 1 + changes[changes.length - arr[i]]);
      };
      changes.push(change);
   };
   return changes[amount] == Math.pow(2, 31) - 1 ? -1 : changes[amount];
};
console.log(minCoins(arr, amount));

出力

そして、コンソールの出力は-

になります
4

  1. 例を使用したJavaScriptでの継承

    JavaScriptは、プロトタイプに基づくオブジェクトベースの言語です。継承は、プロトタイプオブジェクトを使用してJavaScriptで実装されます。 以下は、JavaScriptで継承を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc

  2. JavaScriptでチェックボックスをチェックする

    以下が入力タイプのチェックボックスであるとしましょう- <lable>John</lable> <input id="checkedValue1" type="checkbox"> <lable>David</lable> <input id="checkedValue2" type="checkbox"> チェックボックスのいずれかをチェックしたい。チェックボックスをオンにするには、checkedプロパティを使用します。 例 以下はコード