算法
crystal_iwwish
多读书 多看日出
展开
-
算法-罗马数字转成整数(leetcode13)
罗马数字转数组原创 2022-03-06 10:07:21 · 347 阅读 · 0 评论 -
算法-快速排序
快速排序特点特点:快,效率高适用场景:适合数据过大且杂乱无章快速排序思路选取个分割点,通过一次排序将整个无序列表分为两个部分,其中一个部分的数据比另一个部分包含的数值小实现思路举例步骤1、选择一个分割点(通常选择第一个)——>49步骤2、大于49放右侧,小于49放左侧,排序后——13 42 6 49 56 76 91步骤3、第一个小于部分 13 42 6进行以13为分割点的排序——> 6 13 42步骤4、第二个大于部分56 76 91以56为分割点排序 ——>56 7原创 2022-02-08 16:42:26 · 245 阅读 · 0 评论 -
算法-插入排序
插入排序原创 2022-02-03 11:54:15 · 380 阅读 · 0 评论 -
算法-冒泡排序
冒泡排序的实现原创 2022-02-01 18:13:57 · 351 阅读 · 0 评论 -
算法-二分查找
二分查找原创 2022-02-01 16:38:11 · 995 阅读 · 0 评论 -
算法-js回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例1:输入:x = -121输出:false示例2:输入:x = 121输出:true方法1:思路:与整数翻转相似,先把字符串转换成数组,进行翻转后再变成字符串,判断此时,翻转后的字符串和最一开始的字符串是否相同 //******************第一种****************原创 2021-10-18 16:10:15 · 630 阅读 · 0 评论 -
算法-js整数翻转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。示例1:输入:x = 123输出:321示例2:输入:x = -123输出:-321方法1:思路: 将字符串转换成数组str.split(’’),用数组的reverse:翻转数组,再将数组拼接成字符串join("")// ******************第一原创 2021-10-18 16:02:46 · 131 阅读 · 0 评论 -
算法-满足条件的数字放在新数组
在这里,我们的要求是, 把数组中不为0的值放在新数组中<script> // 把数组中不为0的值放在新数组中 let arr1 = [23, 66, 1, 7, 3, 9, 0]; let newArr = []; for (let i = 0; i < arr1.length; i++) { if (arr1[i] != 0) { newArr.push(arr1[i]); } } console.原创 2021-10-17 20:03:18 · 278 阅读 · 0 评论 -
算法-数组去重
给定一个数组,将数组中重复的元素删除,得到新的数组方法一思路:把arr里的值用遍历拿出,去newArr中查看是否有这个值注:indexOf方法,用于查找某个元素首次出现的位置(索引值)找不到返回-1 找到返回索引值 let arr = [23, 66, 1, 23, 66, 1, 7, 3, 9, 0, 7, 3, 9, 0]; let newArr = []; for (let i = 0; i < arr.length; i++) { if (newArr.in原创 2021-10-17 20:01:24 · 161 阅读 · 0 评论 -
算法-查找数组两个数据相加等于目标值
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回他们的数组下标。示例1:输入:nums=[2,7,11,15] target =9输出:[0,1]方法一:思路:我们可以通过反复遍历,先让外层循环代表第一个数,随后内层循环代表第二个数,第一个数不变,找是否有第二个数与第一个数相加等于target,如果没有,那么外层循环继续,从而内层循环也继续,直到找到相加为target值得那两个数,注意内层循环=外层循环加1,因为不能是本身的一个数,原创 2021-10-17 19:47:01 · 1703 阅读 · 0 评论 -
算法-递归求1-n的阶乘
利用递归求n的阶乘分析:1* 2* 3* 4…* n依次是前一项乘以当前项 let n = prompt("输入"); function fn(n) { if (n == 1 || n == 0) { return 1; } else { return fn(n - 1) * n; } } let sum = fn(n); console.log(sum);...原创 2021-10-16 19:53:50 · 690 阅读 · 0 评论 -
算法-斐波那契数列:兔子序列
利用递归函数求斐波那契数列(兔子序列) 1、1、2、3、5、8、13、21…求第n个数是几,n任意一个数大家可以自定义,比如10,20等分析:从给出的数列中,可知,n=1时→1n=2时→1n=3时→(n-1)的值+(n-2)的值n=4时→(n-1)的值+(n-2)的值…当n=3时,我们可以通过函数得到(n-1)的值+(n-2)的值<script> let n = prompt("输入"); function fn(n) { if (n == 1 || n原创 2021-10-16 19:48:10 · 1317 阅读 · 0 评论