力扣手记

  1. 两个数组的交集 II
    给定两个数组,编写一个函数来计算它们的交集。
		// Map 是一组键值对的结构,具有极快的查找速度。
		// new Map 创建一个新的空集合
		// map.has 如果映射包含指定元素 返回true
		// map.set 添加一个新建元素到映射
		// map.get 返回映射中的指定元素
		// map.delete 从映射中删除指定元素
		// map.clear 从映射中删除所有元素
		// map.forEach 对映射中的每个元素进行指定操作
		// map.toString 返回映射中的字符串形式
		// map.valueOf 返回指定对象的原始值
		//-----------------------------------------
		
		let num1=[4,9,5]
		let num2=[9,4,9,8,4]
		var intersect = function(nums1, nums2) {
		    let hash=new Map() 
		    let res=[]
		    for(let i=0 ;i<nums1.length;i++){
		        if(hash.has(nums1[i])){  
		            hash.set(nums1[i] , hash.get(nums1[i]) + 1)
		        }else{
		            hash.set(nums1[i] , 1)
		        }
		    }
		    for(let j=0 ; j< nums2.length;j++){
		        let temp=nums2[j]
		        let hashKey=hash.get(temp)
		        if(hash.has(temp)){
		            res.push(temp)
		            if(hashKey > 1){
		                hash.set(temp , hashKey - 1 )
		            }else{
		                hash.delete(temp)
		            }
		        }
		    }
			
		    return res
		};
		
		let lCode= intersect(num1,num2)
  1. 两数之和
let nums=[2,5,5,112,5,5,11]
let target=123 
var twoSum=function(nums,target){
	let perView={}
	for(let i=0;i<nums.length;i++){
		if(perView[target-nums[i]] !=undefined){
			return [perView[target-nums[i]] , i]
		}
		perView[nums[i]]=i
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值