716 次浏览
我们需要编写一个 JavaScript 函数,该函数只接收一个正整数作为参数。该函数应该找到并返回作为输入提供的数字的平方根。示例以下为代码 −const squareRoot = (num, precision = 0) => { if (num deviation) { res -= ((res ** 2) - num) / (2 * res); }; return Math.round(res * (10 ** precision)) / (10 ** precision); }; console.log(squareRoot(16)); console.log(squareRoot(161, 3)); console.log(squareRoot(1611, 4));输出以下是在控制台上的输出 −4 12.689 40.1373
159 次浏览
我们需要编写一个 JavaScript 函数,该函数接收两个文字数组作为参数,我们将其称为 arr1 和 arr2。该函数应查找数组中最长的公共文字连续序列。该函数最终应返回这些文字的数组。例如 −如果输入数组为 −const arr1 = ['a', 'b', 'c', 'd', 'e']; const arr2 = ['k', 'j', 'b', 'c', 'd', 'w'];则输出数组应为 −const output = ['b', 'c', 'd'];示例以下为代码 −const arr1 = ['a', 'b', 'c', 'd', 'e']; const arr2 = ['k', 'j', 'b', 'c', 'd', 'w']; const longestCommonSubsequence = ... 阅读更多
251 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个包含正负整数的数组数组作为参数。由于数组还包含负元素,因此连续元素的和可能为负或正。我们的函数应该从数组中选择一个连续元素数组,该数组的和最大。最后,函数应该返回该数组。例如 −如果输入数组为 −const arr = [-2, -3, 4, -1, -2, 1, 5, -3];则最大可能的和为 7,输出子数组应为 −const output = [4, -1, -2, 1, 5];示例以下为代码 ... 阅读更多
1K+ 次浏览
我们需要编写一个 JavaScript 函数,该函数接收两个字符串作为参数。我们将其称为 str1 和 str2。然后,该函数应找出对两个输入字符串都通用的最长的连续字符串,并返回该公共字符串。例如 −如果输入字符串为 −const str1 = 'ABABC'; const str2 = 'BABCA';则输出字符串应为 −const output = 'BABC';示例以下为代码 −const str1 = 'ABABC'; const str2 = 'BABCA'; const findCommon = (str1 = '', str2 = '') => { const s1 = [...str1]; const s2 = [...str2]; const arr ... 阅读更多
320 次浏览
基数排序 基数排序是一种排序算法,它通过对共享相同重要位置和值的个位数字对整数键进行分组来对具有整数键的数据进行排序。我们需要编写一个 JavaScript 函数,该函数只接收一个文字数组作为参数。该函数应使用基数排序算法按升序或降序对数组进行排序。示例以下为代码 −const arr = [45, 2, 56, 2, 5, 6, 34, 1, 56, 89, 33]; const radixSort = (arr = []) => { const base = 10; let divider = 1; let ... 阅读更多
584 次浏览
凯撒密码算法凯撒密码算法是最简单和最广为人知的加密技术之一。它是一种替换密码,其中明文中的每个字母都被替换为字母表中某个固定数量的位置后的字母。例如左移 3 位,D 将被替换为 A,E 将变为 B,依此类推。我们需要编写一个 JavaScript 函数,该函数将要加密的字符串作为第一个参数,将移位量作为第二个参数。移位量可以是正整数或负整数 ... 阅读更多
201 次浏览
假设我们有一个 m * n 阶的数组。一个人从二维数组的起始块 (0, 0) 开始,他想到达终点 (m, n)。限制是,他一次只能向下移动一步或向右移动一步。我们需要编写一个 JavaScript 函数,该函数接收二维网格的高度和宽度作为参数。该函数应找出可供此人到达终点的唯一路径数。示例以下为代码 −const height = 3; const width = 4; const findUniquePath ... 阅读更多
522 次浏览
我们需要编写一个 JavaScript 函数,该函数接收一个 n * n 阶(方阵)的数组数组作为参数。该函数应将数组旋转 90 度(顺时针)。条件是我们必须就地执行此操作(无需分配任何额外的数组)。例如 −如果输入数组为 −const arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];则旋转后的数组应如下所示 −const output = [ [7, 4, 1], [8, 5, 2], [9, 6, 3], ];示例以下为代码 −const arr = ... 阅读更多
565 次浏览
插值搜索插值搜索是一种算法,用于搜索已按分配给键的数值(键值)排序的数组中的键。例如假设我们有一个包含 n 个均匀分布值的已排序数组 arr[],我们需要编写一个函数来在数组中搜索特定元素 target。它执行以下操作来查找位置 −// 公式的思想是当要搜索的元素更接近 arr[hi] 时返回更高的 pos 值 // 当更接近 arr[lo] 时返回更小的值 pos = lo + ((x - arr[lo]) ... 阅读更多
8K+ 次浏览
莱文斯坦距离莱文斯坦距离是一种用于衡量两个序列之间差异的字符串度量。它是将一个单词更改为另一个单词所需的最小单字符编辑次数。例如:考虑一下这两个字符串:const str1 = 'hitting'; const str2 = 'kitten';这两个字符串之间的莱文斯坦距离是 3,因为我们需要进行以下三个编辑:kitten → hitten(将 "k" 替换为 "h")hitten → hittin(将 "e" 替换为 "i")hittin → hitting(在末尾插入 "g")我们需要编写一个 JavaScript 函数,它接收两个字符串并计算…… 阅读更多