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 函数,该函数接收两个字符串并计算…… 阅读更多