导航:首页 > 使用方法 > 算法中常用的一些函数和方法

算法中常用的一些函数和方法

发布时间:2024-10-25 15:52:37

① 前端算法入门:刷算法题常用的 JS 基础扫盲

此篇属于前端算法入门系列的第一篇,主要介绍常用的 数组方法 、 字符串方法 、 遍历方法 、 高阶函数 、 正则表达式 以及相关 数学知识 。

在尾部追加,类似于压栈,原数组会变。

在尾部弹出,类似于出栈,原数组会变。数组的 push & pop 可以模拟常见数据结构之一:栈。

在头部压入数据,类似于入队,原数组会变。

在头部弹出数据,原数组会变。数组的 push (入队) & shift (出队) 可以模拟常见数据结构之一:队列。

concat 会在当前数组尾部拼接传入的数组,然后返回一个新数组,原数组不变。

在数组中寻找该值,找到则返回其下标,找不到则返回 -1 。

在数组中寻找该值,找到则返回 true ,找不到则返回 false 。

将数组转化成字符串,并返回该字符串,不传值则默认逗号隔开,原数组不变。

翻转原数组,并返回已完成翻转的数组,原数组改变。

从 start 开始截取到 end ,但是不包括 end

可参考 MDN:Sort [5]

将数组转化成字符串,并返回该字符串,逗号隔开,原数组不变。

返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。

类似数组的concat(),用来返回一个合并拼接两个或两个以上字符串。原字符串不变。

indexOf ,返回一个字符在字符串中首次出现的位置, lastIndexOf 返回一个字符在字符串中最后一次出现的位置。

提取字符串的片断,并把提取的字符串作为新的字符串返回出来。原字符串不变。

使用指定的分隔符将一个字符串拆分为多个子字符串数组并返回,原字符串不变。

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,并返回一个包含该搜索结果的数组。

注意事项 :如果 match 方法没有找到匹配,将返回 null 。如果找到匹配,则 match 方法会把匹配到以数组形式返回,如果正则规则未设置全局修饰符 g ,则 match 方法返回的数组有两个特性: input 和 index 。 input 属性包含整个被搜索的字符串。 index 属性包含了在整个被搜索字符串中匹配的子字符串的位置。

replace 接收两个参数,参数一是需要替换掉的字符或者一个正则的匹配规则,参数二,需要替换进去的字符,仔实际的原理当中,参数二,你可以换成一个回调函数。

在目标字符串中搜索与正则规则相匹配的字符,搜索到,则返回第一个匹配项在目标字符串当中的位置,没有搜索到则返回一个 -1 。

toLowerCase 把字母转换成小写, toUpperCase() 则是把字母转换成大写。

includes 、 startsWith 、 endsWith , es6 的新增方法, includes 用来检测目标字符串对象是否包含某个字符,返回一个布尔值, startsWith 用来检测当前字符是否是目标字符串的起始部分,相对的 endwith 是用来检测是否是目标字符串的结尾部分。

返回一个新的字符串对象,新字符串等于重复了指定次数的原始字符串。接收一个参数,就是指定重复的次数。原字符串不变。

最常用的 for 循环,经常用的数组遍历,也可以遍历字符串。

while 、 do while 主要的功能是,当满足 while 后边所跟的条件时,来执行相关业务。这两个的区别是, while 会先判断是否满足条件,然后再去执行花括号里面的任务,而 do while 则是先执行一次花括号中的任务,再去执行 while 条件,判断下次还是否再去执行 do 里面的操作。也就是说 do while 至少会执行一次操作 .

拷贝一份遍历原数组。

for…of 是 ES6 新增的方法,但是 for…of 不能去遍历普通的对象,** for…of 的好处是可以使用 break 跳出循环。**

面试官:说一下 for...in 和 for...of 区别?

返回一个布尔值 。当我们需要判定数组中的元素是否满足某些条件时,可以使用 every / some 。这两个的区别是, every 会去判断判断数组中的每一项,而 some 则是当某一项满足条件时返回。

rece 从左到右将数组元素做“叠加”处理,返回一个值。 receRight 从右到左。

Object.keys 方法的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名,且只返回可枚举的属性。

Object.getOwnPropertyNames 方法与 Object.keys 类似,也是接受一个对象作为参数,返回一个数组,包含了该对象自身的所有属性名。但它能返回不可枚举的属性。

这里罗列一些我在刷算法题中遇到的正则表达式,如果有时间可认真学一下 正则表达式不要背 [7]

持续更新,敬请期待……

若一个正整数无法被除了 1 和它自身之外的任何自然数整除,则称该数为质数(或素数),否则称该正整数为合数。

什么叫算法算法有哪几种表示方法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。计算机科学家往往将“算法”一词的含义限定为此类“符号算法”。“算法”概念的初步定义:一个算法是解决一个问题的进程。而并不需要每次都发明一个解决方案。

已知的算法有很多,例如“分治法”、“枚举测试法”、“贪心算法”、“随机算法”等。

(2)算法中常用的一些函数和方法扩展阅读

算法中的“分治法”

“分治法”是把一个复杂的问题拆分成两个较为简单的子问题,进而两个子问题又可以分别拆分成另外两个更简单的子问题,以此类推。问题不断被层层拆解。然后,子问题的解被逐层整合,构成了原问题的解。

高德纳曾用过一个邮局分发信件的例子对“分治法”进行了解释:信件根据不同城市区域被分进不同的袋子里;每个邮递员负责投递一个区域的信件,对应每栋楼,将自己负责的信件分装进更小的袋子;每个大楼管理员再将小袋子里的信件分发给对应的公寓。

③ 算法设计与分析的基本方法有哪些

算法设计与分析的基本方法包括以下几个方面:
1. 递推法:
递推法是依据问题内在的递推关系来求解问题的一种方法。它通过将问题分解为若干步骤,并找出相邻步骤之间的关系,以实现问题的解决。这种方法被称为递推法。
2. 递归:
递归是一种自我调用的函数或过程,它通过函数自身调用自身,直到达到一个已知的基准情况。递归常用于解决具有递归结构的问题。
3. 穷举搜索法:
穷举搜索法,也称为暴力法,是对所有可能的候选解进行逐一枚举和检验,直到找到满足条件的解。这种方法适用于问题规模较小的情况。
4. 贪婪法:
贪婪法是一种在每一步选择中都采取在当前看来是最好的选择,以期望结果是全局最优的算法策略。贪婪法通常快速且简单,但不保证总能得到最优解。
5. 分治法:
分治法是将一个复杂问题分解成两个或多个相似的子问题,然后递归地解决这些子问题,并合并它们的解以得到原问题的解。这种方法适用于问题可以被分解为独立子问题的情况。
6. 动态规划法:
动态规划是一种用于解决包含重叠子问题的最优化问题的方法。它通过将原问题分解为子问题,并存储子问题的解,以避免重复计算,从而提高效率。
7. 迭代法:
迭代法是数值分析中用于求解问题(如方程或方程组)的一系列近似解的方法。它从一个初始估计开始,通过不断迭代来逼近问题的解。

阅读全文

与算法中常用的一些函数和方法相关的资料

热点内容
新胜达天窗初始化视频方法 浏览:67
半身裙折叠方法视频 浏览:299
论文重复率检测方法 浏览:510
儿童快速美白脸的方法 浏览:999
怎么保存火种的方法 浏览:980
用啤酒发馒头的方法步骤 浏览:170
雪堆的制作方法视频 浏览:929
徒手股方肌训练方法 浏览:898
遨游手机版下载方法 浏览:9
直流电空间测量方法 浏览:243
流调最佳配合方法 浏览:557
实验室常用的干制方法 浏览:371
孕25周看男女最准的方法是什么 浏览:710
培养孩子脾气的方法有哪些 浏览:137
怎么确保异步方法执行完成 浏览:487
番茄叶的功效与作用及食用方法 浏览:79
嗓子发炎的治疗方法 浏览:714
如何制作小书包的方法 浏览:98
如何运用好谈话的方法与技巧 浏览:153
游标卡的使用方法视频 浏览:217