JavaScript一天一个算法题~持续更新中。。。。。
1,数组去重
i.暴力去重
思路:建一个空数组,通过判断原数组的元素是否在空数组内,如果在,不放入,不在,放入空数组。
function clearCommnetArray(array){
let arra=[]
array.forEach(item=>{
if(!arra.includes(item)){
arra.push(item)
}
})
return arra
}
ii.Set容器去重法
Set容器内不允许元素重复,我们就利用这点实现元素去重。
function clearCommnetArray(array){
let set=new Set(array)
let arra=[]
for(let item of set){
arra.push(item)
}
return arra
}
2,两数之和
i.暴力解法
就是一个一个拿出来比较。先拿出第一个值和后面的值一个个相加,所以第一层循环需要循环
array.length-1次。
从第二个值开始取值,则第二次初始值是i+1,能循环到最后一个值,循环次数也是array.length-1次。只要符合条件就无需再次进行了。
function sum(nums,target){
for(let i=0,len=nums.length-1;i<len;i++){
for(let j=i+1;j<=nums.length-1;j++){
console.log("ha",nums[i],nums[j]);
console.log(i,j);
if(nums[i]+nums[j]==target){
return [i,j]
}
}
}
}
ii.map映射法
map存放之前的元素和下标,如果这一次的差值在map中的key(匹配到值得元素,说明这个的元素和之前某一个元素之和等于target)
function sum(nums,target){
let map=new Map()
for(let i=0,len=nums.length;i<len;i++){
let a= target-nums[i]
if(map.has(a)){
return [map.get(a),i]
}
map.set(nums[i],i)
}
}
JavaScript一天一个算法题~持续更新中。。。。。的更多相关文章
- javascript算法汇总(持续更新中)
1. 线性查找 <!doctype html> <html lang="en"> <head> <meta charset="U ...
- 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
- 知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET
知道创宇爬虫题--代码持续更新中 - littlethunder的专栏 - 博客频道 - CSDN.NET undefined 公司介绍 - 数人科技 undefined
- JavaScript资源收集分享,持续更新中。。。
平时收集的一些JavaScript资源,分享给大家 jQuery UI jEasyUI Extensions http://jqext.sinaapp.com 布局做的挺不错,有比较复杂的菜单导航.P ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
- LeetCode All in One题解汇总(持续更新中...)
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...
- PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)
PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++: 欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...
- 2020年腾讯实习生C++面试题&持续更新中(2)
2020年腾讯实习生C++面试题&持续更新中(2) hello,大家好~ 我是好好学习天天,天天编程的天天,一个每天都死磕技术,及时分享的技术宅~ 昨天分享的题目不知道大家是否看过了,以后我计 ...
- 【前端面试】Vue面试题总结(持续更新中)
Vue面试题总结(持续更新中) 题目参考链接 https://blog.csdn.net/weixin_45257157/article/details/106215158 由于已经有很多前辈深造VU ...
- EOS开发经验总结——不定期持续更新中
一.新手安装mysql乱码问题 1.数据库安装时设置默认编码格式为UTF8或者打开mysql安装目录下my.ini,变更default-character-set=utf8: 2.打开EOS的Gove ...
随机推荐
- django中的多表关联
一.三种关联情况 二.ORM的正向操作和反向操作 1.正向操作: 一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作. 2.反向操作: 被外键所关联的模型,通过该模型对外键所在模型的操 ...
- Android 11(R) MultiMedia(十六)MediaCodec异步模式实现一个简易播放器
MyDecoderBase.h #ifndef __MY_DECODERBASE_H__ #define __MY_DECODERBASE_H__ #include <media/stagefr ...
- Yii框架Ar操作
1.$admin=Admin::model()->findAll($condition,$params); 该方法是根据一个条件查询一个集合,如: findAll("u ...
- 6.26考试总结(NOIP模拟10)[入阵曲·将军令·星空]
对于虚伪而言,真实的光明或许过于耀眼了 前言 这一次吧,考得特别烂,主要是这次考试想搞一下特殊性质,然后一不小心就因小失大弄巧成拙了下,下次注意吧.. T1 入阵曲 暴力 思路 对于这个题的话,暴力的 ...
- 很多人讲不明白HTTPS,但是我能
很多人讲不明白HTTPS,但是我能 今天我们用问答的形式,来彻底弄明白HTTPS的过程 下面的问题都是 小明和小丽两个人通信为例 可以把小明想象成服务端,小丽想象成客户端 1. https是做什么用的 ...
- ajax传参
// ajax传参 // ajax传参特点: // 1,不需要跳转 // 2,ajax传参,都是异步程序 // ...
- pytest系列之-mark功能的使用
功能使用: 标记用例,按正常.异常用例划分等级进行标记,或者按照模块进行划分. 标记后,可以执行部分用例. 例如: 你有以下用例,文件目录结构如下: testcase ----user ----man ...
- 不好分类的好题Record
这里装的是一些不太好分类的. problem 1 给你 \(n\) 个序列,第 \(i\) 个序列的长度为 \(m_i\),要求在每个序列中选择一个数,每种选法的代价为选择的 \(n\) 个数之和,请 ...
- Go变量作用域精讲及代码实战
关注作者,复旦AI博士,分享AI领域与云服务领域全维度开发技术.拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕博,复旦机器人智能实验室成员,国家级大学生赛事评审专家,发表多篇 ...
- java8 API 函数式接口
简介 14年,Oracle公司如期发布了Java 8正式版,Java8提供了强大的流式处理及函数式接口编程 函数式接口编程,相信很多人在javascript中都使用过,比如回调函数,如今Java8也吸 ...