From fd58260c2f628fd6f9f710e6e3b4fdd712ae2503 Mon Sep 17 00:00:00 2001 From: Manohar Reddy Poreddy Date: Mon, 15 Jan 2024 14:19:19 +0530 Subject: [PATCH 1/3] Add JavaScript solution Adding JavaScript solution that is simple and passess, along with prettier & eslint checks --- .../1774.Closest Dessert Cost/README_EN.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md index 94585d5a4c482..98f8cb44187cc 100644 --- a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md +++ b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md @@ -238,6 +238,34 @@ func abs(x int) int { } ``` +### **JavaScript** + +```js +const closestCost = function (baseCosts, toppingCosts, target) { + let closestDessertCost = -Infinity + function dfs(dessertCost, j) { + const tarCurrDiff = Math.abs(target - dessertCost) + const tarCloseDiff = Math.abs(target - closestDessertCost) + if (tarCurrDiff < tarCloseDiff) { + closestDessertCost = dessertCost + } else if (tarCurrDiff === tarCloseDiff && dessertCost < closestDessertCost) { + closestDessertCost = dessertCost + } + if (dessertCost > target) return + if (j === toppingCosts.length) return + for (let count = 0; count <= 2; count++) { + dfs(dessertCost + count * toppingCosts[j], j + 1) + } + } + for (let i = 0; i < baseCosts.length; i++) { + dfs(baseCosts[i], 0) + } + return closestDessertCost +} +``` + +``` + ### **...** ``` From bc18ee8a792ed1c60d7f200cb1d19b86a73cfba4 Mon Sep 17 00:00:00 2001 From: Manohar Reddy Poreddy Date: Mon, 15 Jan 2024 14:21:48 +0530 Subject: [PATCH 2/3] Update README_EN.md --- solution/1700-1799/1774.Closest Dessert Cost/README_EN.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md index 98f8cb44187cc..5ebc1d4201c39 100644 --- a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md +++ b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md @@ -264,8 +264,6 @@ const closestCost = function (baseCosts, toppingCosts, target) { } ``` -``` - ### **...** ``` From eb03f4a719158bad0cdd1075d63a231f2cadc474 Mon Sep 17 00:00:00 2001 From: manoharreddyporeddy Date: Mon, 15 Jan 2024 08:52:37 +0000 Subject: [PATCH 3/3] style: format code and docs with prettier --- .../1774.Closest Dessert Cost/README_EN.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md index 5ebc1d4201c39..0851b86ca71be 100644 --- a/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md +++ b/solution/1700-1799/1774.Closest Dessert Cost/README_EN.md @@ -242,26 +242,26 @@ func abs(x int) int { ```js const closestCost = function (baseCosts, toppingCosts, target) { - let closestDessertCost = -Infinity - function dfs(dessertCost, j) { - const tarCurrDiff = Math.abs(target - dessertCost) - const tarCloseDiff = Math.abs(target - closestDessertCost) - if (tarCurrDiff < tarCloseDiff) { - closestDessertCost = dessertCost - } else if (tarCurrDiff === tarCloseDiff && dessertCost < closestDessertCost) { - closestDessertCost = dessertCost + let closestDessertCost = -Infinity; + function dfs(dessertCost, j) { + const tarCurrDiff = Math.abs(target - dessertCost); + const tarCloseDiff = Math.abs(target - closestDessertCost); + if (tarCurrDiff < tarCloseDiff) { + closestDessertCost = dessertCost; + } else if (tarCurrDiff === tarCloseDiff && dessertCost < closestDessertCost) { + closestDessertCost = dessertCost; + } + if (dessertCost > target) return; + if (j === toppingCosts.length) return; + for (let count = 0; count <= 2; count++) { + dfs(dessertCost + count * toppingCosts[j], j + 1); + } } - if (dessertCost > target) return - if (j === toppingCosts.length) return - for (let count = 0; count <= 2; count++) { - dfs(dessertCost + count * toppingCosts[j], j + 1) + for (let i = 0; i < baseCosts.length; i++) { + dfs(baseCosts[i], 0); } - } - for (let i = 0; i < baseCosts.length; i++) { - dfs(baseCosts[i], 0) - } - return closestDessertCost -} + return closestDessertCost; +}; ``` ### **...**