随笔分类 - 算法相关
【算法】约瑟夫环
摘要:有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。 输入: 输入人数字符串输出:把最后一个人所保留位置返回出来。比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7
阅读全文
算法练习9:字符串截取算法
摘要:该算法通过一个小例子来演示: 如果字符串的长度比给定的参数num长,则把多余的部分用...来表示。 切记,插入到字符串尾部的三个点号也会计入字符串的长度。 然而,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。 这里会使用到函数,slice() 方法提取一个字符串的一部分,并
阅读全文
算法练习8:重复操作算法
摘要:这个算法是比较简单的,我们使用一个小例子来做演示: 循环拼接一个指定的字符串 num次,如果num是一个负数,则返回一个空字符串。
阅读全文
算法练习7:确认末尾字符算法
摘要:检查一个字符串(str)是否以指定的字符串(target)结尾。 如果是,返回true;如果不是,返回false。 这个算法可以通过在ES2015中引入的.endsWith()方法来解决。 也可以使用JavaScript子串方法之一。 方法一: 方法二: 将参数拼接到正则字符串中,然后将字符串转化成
阅读全文
算法练习6:寻找数组中的最大值算法
摘要:请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素。
阅读全文
算法练习5:设置首字母大写算法
摘要:返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。 像'the'和'of'这样的连接符同理。 使用到的方法函数: toLowerCase()将一句话的所有字母转为小写 split()将一句话转换成字符串数组 toUpperCase()将每个单词的首字母转为大写 substring()截
阅读全文
算法练习4:寻找最长的单词算法
摘要:给定一句话,查询出里面的最长单词的长度。 返回提供的句子中最长的单词的长度。 返回值应该是一个数字。 以split()分割句子里的每个单词保存的数组里,然后比较最长的单词。
阅读全文
算法练习3:回文算法
摘要:如果给定的字符串是回文,返回true,反之,返回false。 palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。 注意:您需要删除字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是不是回文。 使用的方法: replace() 方法返回一个由
阅读全文
算法练习2:整数的阶乘
摘要:计算所提供整数的阶乘。 如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 例如: 5! = 1 * 2 * 3 * 4 * 5 = 120 采用递归进行实现。
阅读全文
算法练习1:翻转字符串算法
摘要:实战翻转字符串算法 你可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,然后把数组转化成字符串。 提示:你的结果必须得是一个字符串 使用到的方法(函数): split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的
阅读全文
浙公网安备 33010602011771号