/** * @param {number[]}time * @return {number} */ var numPairsDivisibleBy60 = function(time) { let num = 0; let len = time.length; for(let i=0;i <len-1; i++){ for(let j=i+1;j<len;j++){ let sum = time[i]+time[j] if(sum%60==0){ num++ } } } return num };
/** * @param {number[]}time * @return {number} */ var numPairsDivisibleBy60 = function(time) { let num = 0; let timeMap = newMap() let len = time.length for(let i =0;i<len;i++){ let value = time[i] //原始值 let valuelimt60 = value%60 || 60//整除60后,相当于60以内的值,如果能自身可以被60整除,存储60 let needValue = 60-valuelimt60 || 60//需要与谁相加整除,如果能自身可以被60整除,需要60 //如果Map中有需要的值,得到有多少个值,与num相加 let hasNeedValue = timeMap.get(needValue) if(hasNeedValue){ num += hasNeedValue }
// 存储新的值,获取需要存储的值在map中的个数 let hasLimtValue = timeMap.get(valuelimt60) if(hasLimtValue){ // 如果已经存在该值,值++ timeMap.set(valuelimt60,++hasLimtValue) }else{ // 如果不存在,值为1 timeMap.set(valuelimt60,1) } } return num };