1 Star 0 Fork 0

孙启萌 / leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
599.两个列表的最小索引总和.js 1.67 KB
一键复制 编辑 原始数据 按行查看 历史
孙启萌 提交于 2023-05-23 10:54 . 刷题
/*
* @lc app=leetcode.cn id=599 lang=javascript
*
* [599] 两个列表的最小索引总和
*/
// @lc code=start
/**
* @param {string[]} list1
* @param {string[]} list2
* @return {string[]}
*/
var findRestaurant = function(list1, list2) {
if (list1.length < list2.length) {
// 确保 list1 是长的那一个
let temp = list1
list1 = list2
list2 = temp
}
let res = []
let min = Infinity
let map = new Map()
for (let index = 1; index < list1.length + 1; index++) {
const e1 = list1[index - 1];
const e2 = list2[index - 1];
let value1 = map.get(e1) || 0
let value2 = map.get(e2) || 0
if (e1 === e2 && 2 * index < min) {
res = [e1]
min = 2 * index
} else if (e1 === e2 && 2 * index === min) {
res.push(e1)
}
if (value1 || value2) {
if (value1) {
if (value1 + index < min) {
res = [e1]
min = value1 + index
} else if (value1 + index === min) {
res.push(e1)
}
}
if (value2) {
if (value2 + index < min) {
res = [e2]
min = value2 + index
} else if (value2 + index === min) {
res.push(e2)
}
}
} else {
if (e1) {
map.set(e1, index)
}
if (e2) {
map.set(e2, index)
}
}
}
console.log(map, min, res)
return res
};
// @lc code=end
/*
一点都不优雅,做的有问题
*/
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sqm147896325/leetcode.git
git@gitee.com:sqm147896325/leetcode.git
sqm147896325
leetcode
leetcode
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891