算法思维体操:基于generator生成器自己实现Async/Await(TypeScript)

2023-02-25
阅读 13 分钟
1.3k
实现Async/Await要挑战的任务是使用JavaScript的generator生成器来实现Async/Await。问题描述下面是一个Async/Await函数的示例。 {代码...} 我们需要使用generator生成器和一个特别的封装函数“asynk”来实现同样功能。等效的示例为: {代码...} 关于“asynk“的注意事项:它接收一个generator生成器函数并返回一个新函数;...
封面图

算法思维体操:用JavaScript和Python自己实现reduceRight和map(链表)

2023-02-25
阅读 14 分钟
1.4k
我们从一个链表的构造函数开始,“cons”,它接收一个必要参数“head”及一个可选参数“tail”(相对于支持这样的实现的语言来说)。该构造函数返回一个链表的表示结构体,其中第一个元素为“head”,其余的元素被包裹在“tail“链表中。空链表的话用JavaScript中的undefined或Python中的None来表示。
封面图

JavaScript专项算法题(7):Iterators迭代器

2022-05-07
阅读 5 分钟
1.1k
@冒泡的马树题库原地址:[链接]Iterators迭代器挑战1问题:A) 创建一个for循环,用于遍历数组,返回数组的所有元素的总和。B) 创建一个函数式迭代器,调用时遍历传入的数组的每一个元素,每次一个元素。题解: {代码...} 挑战2问题:创建一个附有next方法的迭代器。当.next被调用时,此迭代器会逐个返回数组内的元素。...

JavaScript专项算法题(6):Promises

2022-05-06
阅读 3 分钟
1.3k
@冒泡的马树题库原地址:[链接]Promises期约挑战1问题:让我们从复习异步函数开始吧!使用setTimeout,在1000ms后打印字符串“Hello!”。题解: {代码...} 挑战2问题:创建一个promise。延迟1000ms后在resolve里面传入值“Resolved!”,使用setTimeout。在promise被调用resolve后,打印它的内容,借助传入console.log到.the...

Python求解谷歌高速公路招聘广告:{ 无理数e中前十位连续的素数 }.com

2022-01-15
阅读 5 分钟
2.9k
Google曾经在加州的101高速公路上用大广告牌登了这样的广告:{ 无理数e中前十位连续的素数 }.com你如果知道这个答案(7427466391.com),就可以通过上述网址进入到Google的招聘网站。而能够计算出这道题,要很聪明。
封面图

JavaScript专项算法题(5):面向对象

2020-09-26
阅读 6 分钟
1.3k
@冒泡的马树题库原地址:[链接]面向对象使用实义化的对象挑战1/1问题:构建一个称为makePerson的接受两个参数(name和age)的函数,返回一个对象。此函数会:创建一个空对象;给空对象一个键名为name的属性,键值为输入函数的name参数的值;给空对象一个键名为age的属性,键值为输入函数的age参数的值;返回对象。题解:...

JavaScript专项算法题(4):异步

2020-08-15
阅读 6 分钟
1.4k
@冒泡的马树题库原地址:[链接]异步挑战一问题:思考时间(现在暂时不需要编写代码):分析下方挑战一的代码,打印出来的结果会是怎样顺序的?Howdy先还是Partnah先?题解: {代码...} 挑战二问题:构建delayedGreet函数,用于在3秒后打印“welcome"。题解: {代码...} 挑战三问题:构建helloGoodbye函数。其会立刻打印”h...

JavaScript专项算法题(3):闭包

2020-07-14
阅读 15 分钟
1.6k
@冒泡的马树 题库原地址:[链接] 闭包、作用域和运行上下文 挑战1 问题: 构建createFunction函数,用于创建和返回函数。当被创建的函数被调用时,它会打印“hello"。 题解: {代码...} 挑战2 问题: 构建接受一个输入值作为参数的createFunctionPrinter函数,用于创建和返回一个特定函数。当特定函数被调用时,其应该打...

JavaScript专项算法题(2):函数式编程

2020-07-11
阅读 20 分钟
1.4k
@冒泡的马树 题库原地址:[链接] 高阶函数 挑战1 问题: 构建一个addTwo函数,作用为接受一个参数并将参数加2。 题解: {代码...} 挑战2 问题: 构建一个addS函数,作用为接受一个参数并将参数与“s"拼接。 题解: {代码...} 挑战3 问题: 构建一个map函数,其接受两个参数: 数值型数组 回调函数——一个应用于上述数值型...

JavaScript专项算法题(1):回调和高阶函数

2020-06-19
阅读 14 分钟
1.6k
@冒泡的马树 题库原地址:[链接] 挑战1 问题: 构建一个addTwo函数,作用为接受一个参数并将参数加2。 题解: {代码...} 挑战2 问题: 构建一个addS函数,作用为接受一个参数并将参数与“S"拼接。 题解: {代码...} 挑战3 问题: 构建一个map函数,其接受两个参数: 数值型数组 回调函数——一个应用于上述数值型数组中的...

去除数组中任意多个值算法(JavaScript)

2019-05-29
阅读 1 分钟
1.2k
问题: 实现一个 destroyer 函数,第一个参数是初始数组,后跟一个或多个参数。从初始数组中删除与这些参数具有相同值的所有元素。 解答: {代码...} 链接: [链接]

位移密码算法(JavaScript)

2019-05-28
阅读 1 分钟
3.2k
问题: 著名的凯撒密码Caesar cipher,又叫移位密码。 移位密码也就是密码中的字母会按照指定的数量来做移位。 一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔'O',以此类推。 写一个ROT13函数,实现输入加密字符串,输出解密字符串。 要求: 所有的字母都是大写,不要转化任何非字母形式的字符(...

数组排序并插入值算法(JavaScript)

2019-05-28
阅读 1 分钟
1.5k
举例:where([1,2,3,4], 1.5) 应该返回 1。因为1.5插入到数组[1,2,3,4]后变成[1,1.5,2,3,4],而1.5对应的索引值就是1。

删除数组中特定值算法(JavaScript)

2019-05-28
阅读 1 分钟
1.4k
问题: 删除数组中的所有的假值。 在JavaScript中,假值有false、null、0、""、undefined 和 NaN。 解答: {代码...} 链接: [链接]

数组截断算法(JavaScript)

2019-05-27
阅读 1 分钟
1.3k
问题: 返回一个数组被截断n个元素后还剩余的元素,从索引0开始截断。 解答: {代码...} 链接: [链接]

寻找最长的单词算法(JavaScript)

2019-05-27
阅读 1 分钟
1.2k
问题: 返回提供的句子中最长的单词的长度。 要求: 返回值应该是一个数字。 解答: {代码...} 链接: [链接]

数组查询算法(JavaScript)

2019-05-27
阅读 1 分钟
1.1k
问题: 如果数组第一个字符串元素包含了第二个字符串元素的所有字符,则函数返回true。 示例: 举例,["hello", "Hello"]应该返回true,因为在忽略大小写的情况下,第二个字符串的所有字符都可以在第一个字符串找到。 ["hello", "hey"]应该返回false,因为字符串"hello"并不包含字符"y"。 ["Alien", "line"]应该返回true...

确认末尾字符算法(JavaScript)

2019-05-27
阅读 1 分钟
1.1k
问题: 检查一个字符串(str)是否以指定的字符串(target)结尾。 如果是,返回true;如果不是,返回false。 提示: 这个挑战可以通过在ES2015中引入的.endsWith()方法来解决,但是出于这个挑战的目的, 我们希望您使用JavaScript子串方法之一。 解答: {代码...} 链接: [链接]

重复操作算法(JavaScript)

2019-05-27
阅读 1 分钟
991
问题: 循环拼接一个指定的字符串 num次,如果num是一个负数,则返回一个空字符串。 解答: {代码...} 链接: [链接]

寻找数组中的最大值算法(JavaScript)

2019-05-26
阅读 1 分钟
1.1k
问题: 在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。 提示: 可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素。 解答: {代码...} 链接: [链接]

字符串截取算法(JavaScript)

2019-05-26
阅读 1 分钟
1.3k
问题: 如果字符串的长度比给定的参数num长,则把多余的部分用...来表示。 要求: 切记,插入到字符串尾部的三个点号也会计入字符串的长度。 然而,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。 解答: {代码...} 链接: [链接]

数组分割算法(JavaScript)

2019-05-26
阅读 1 分钟
1.6k
问题: 编写一个函数,把一个数组arr按照指定的数组大小size分割成若干个数组块。 示例: 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]]; 解答: {代码...} 链接: [链接]

设置首字母大写算法(JavaScript)

2019-05-26
阅读 1 分钟
1.3k
问题: 返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。 像'the'和'of'这样的连接符同理。 解答: {代码...} 链接: [链接]

回文算法(JavaScript)

2019-05-26
阅读 1 分钟
1.7k
问题: 如果给定的字符串是回文,返回true,反之,返回false。 palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。 注意: 需要删除字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是不是回文。 函数参数的值可以为"racecar","RaceCar"和"race CAR"。 解答: {代...

阶乘算法挑战(JavaScript)

2019-05-26
阅读 1 分钟
2.2k
问题 计算所提供整数的阶乘。 如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 示例: 例如: 5! = 1*2*3*4*5 = 120 解答: {代码...} 链接: [链接]

翻转字符串算法(JavaScript)

2019-05-26
阅读 1 分钟
1.9k
问题: 实战翻转字符串算法 可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,然后把数组转化成字符串。 要求: 结果必须得是一个字符串 解答: {代码...} 链接: [链接]

一元多项式的加法、减法、乘法和微分运算的C语言链表结构算法实现

2018-11-25
阅读 19 分钟
6.1k
代码结构为主分形式,主函数主要为一些提示,具体的输入输出则将参数传递到分函数中实现。分函数有创建一元多项式、多项式升幂排序、比较项指数大小、打印多项式、加法运算、减法运算、微分运算和乘法运算等。比较需要关注的是乘法方面的实现,思路是将乘法运算分解为一系列的加法运算。不过在这里着实纠结了好多天,本...

约瑟夫环问题算法的C语言代码实现

2018-10-30
阅读 2 分钟
7.8k
约瑟夫(Joseph)问题的一种描述是:编号为 1,2,⋯ ⋯ n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个人开始按顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的 m 值,从他在顺时针方 向上的下一个人开始重新从 1 报...