算法
小朋友120
总有地上的生灵,敢于面对雷霆的威光。
展开
-
✨对象去重
对象去重以下是数据格式:const data = [ { techniqueName: 'name1', techniqueId: 2400003 }, { techniqueName: 'name2', techniqueId: 2400002 }, { techniqueName: 'name1', techniqueId: 2400003 }, { techniqueName: 'name3', techniqueId: 2400001 }, { techn原创 2021-10-21 17:09:09 · 81 阅读 · 0 评论 -
✨ 重复DNA序列 算法
重复DNA序列难度中等228收藏分享切换为英文接收动态反馈所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。示例 1:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC","CCCCCAAAAA"]原创 2021-10-08 10:13:53 · 271 阅读 · 1 评论 -
✨国庆第一天出个“旅行终点站“,还没开始就结束了
旅行终点站给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。示例 1: 输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]原创 2021-10-01 13:29:02 · 98 阅读 · 0 评论 -
✨递归和动态规划解“爬楼梯“算法
**爬楼梯 **假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶解法:0阶=> (1)不需要走 走法所以为1种原创 2021-09-23 17:31:07 · 209 阅读 · 1 评论 -
✨计算俩个数组的交集
给定两个数组,编写一个函数来计算它们的交集。示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。直接上代码: var intersection = function(nums1, nums2) { const res原创 2021-09-20 12:03:58 · 191 阅读 · 3 评论 -
实现Math.pow(x,n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25用的一个递归方式分为四种情况 等于0 小于0 奇次幂和偶次幂var myPow = function (x, n) { //原创 2021-09-19 10:13:00 · 428 阅读 · 5 评论 -
分发饼干
分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释: 你有三个孩子和两块小饼干,3个孩子的胃口值原创 2021-09-18 11:48:06 · 106 阅读 · 0 评论 -
✨杨辉三角 算法
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]思路:[1][1,1][1,2,1][1,3,3,1]从第三个开始,中间的数字 都是前一个数组里的前一个数字和后一个数组的和开始写代码:var generat原创 2021-09-17 14:43:27 · 165 阅读 · 5 评论 -
✨数字数组+1 算法
话不多说,直接上题目给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]解法1:原创 2021-09-16 12:14:37 · 665 阅读 · 6 评论 -
✨“搜索插入的位置“和“移除元素“ 算法
话不多说,直接上题目**搜索插入的位置 **给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1://输入: const nums = [1,3,5,6];const target = 5;//输出: 2示例 2://输入: const nums = [1,3,5,6];const target = 2;//输出: 1示例 3://输入: cons原创 2021-09-15 10:17:17 · 220 阅读 · 0 评论 -
✨实现 strStr() 函数和“删除有序数组中的重复项“ 算法
**删除有序数组中的重复项 **给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1)(空间复杂度) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以"引用"方式传递的。也就是说,不对实参做任何拷贝int le原创 2021-09-14 12:19:41 · 90 阅读 · 1 评论 -
✨查找公共前缀 算法
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。解题思路:找出公共部分需要遍历每一项去比对,我想到的是需要去用到双层循环,取出第一个,把第一个与后面的比对,找到相同,就截取到相同的部分,直至结束。(虽然是解出来了,但是消耗了内存挺多的,也不是最优原创 2021-09-13 11:57:06 · 291 阅读 · 2 评论 -
✨“回文数“和“俩数相加“ 简单算法
回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例原创 2021-09-12 13:08:50 · 930 阅读 · 7 评论 -
✨递归 实现深克隆 拷贝
一个朋友在面试的时候面到了深浅克隆的问题,浅克隆:可以直接赋值做到,但是他们引用的都是同一个地址,所以原来的改变了,浅克隆过后的数据他也回跟随其变化.深克隆:他是直接独立出来了,克隆了一个新的出来,改变了其引用地址,所以与浅克隆相反.我还是拿下面这个数据格式作为克隆对象 ????它里面是有对象,有函数和数组const obj = { "childrenList": [{ "childrenList": [{ "childrenList": () =&原创 2021-09-11 12:42:16 · 223 阅读 · 6 评论 -
✨“俩数之和“ 算法
在leetcode上看到了第一个算法题尝试了一些解法因为本人之前没有去看数据结构相关的东西,所以对其的解法可能优化不是很好 好在结果是能出来步入正题 ☞给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1原创 2021-09-10 17:34:44 · 109 阅读 · 7 评论