当前位置: 首页 > article >正文

map用于leetcode

    //第一种map方法
function groupAnagrams(strs) {
  let map = new Map()
  for (let str of strs) {
    let key = str === '' ? ' ' : str.split('').sort().join('')
    if (!map.has(key)) {
      map.set(key, [])
    }
    map.get(key).push(str)
  }
//此时map为Map(3) {'aet' => [ 'eat', 'tea', 'ate' ],'ant' => [ 'tan', 'nat' ],'abt' => [ 'bat' ]
}
  return Array.from(map.values())
}
console.log(groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]));
//[ [ 'eat', 'tea', 'ate' ], [ 'tan', 'nat' ], [ 'bat' ] ]

//第二种方法
function second(strs){
  let flag_array = []
  let array = []
  for (let i = 0; i < strs.length; i++) {
    if(strs[i].length>0){
      let temp = ''
      temp = strs[i].split('').sort().join('')
      if(flag_array.indexOf(temp)== -1){
        flag_array.push(temp)
        array.push([strs[i]])
      }else{
        array[flag_array.indexOf(temp)].push(strs[i])
      }
    }else{
      let emptyIndex = flag_array.indexOf('') 
      if(emptyIndex === -1){
        flag_array.push('')
        array.push([""]) 
      } else {
        array[emptyIndex].push("") 
      }
    }
  }
  return array
}

 const array = s.split(" ");
    if (array.length !== pattern.length) {
        return false;
    }
    const charmap = new Map()
    const strmap = new Map()
    for (let i = 0; i < array.length; i++) {
        const char = array[i]
        const str = pattern[i]
        if (charmap.has(char)) {
            if (charmap.get(char) != str) {
                return false
            }
        }
        else {
            charmap.set(char, str)
        }
        if (strmap.has(str)) {
            if (strmap.get(str) != char) {
                return false
            }

        } else {
            strmap.set(str, char)
        }
    }
    return true
 附带字符串小知识点:

字符串按字母顺序排列:str.split('').sort().join('')

Math.min() 方法不接受数组作为参数,需要如下写法

   Math.min(...[0, 1, 2]);

http://www.kler.cn/a/416638.html

相关文章:

  • 【Linux——实现一个简易shell】
  • RabbitMQ原理架构解析:消息传递的核心机制
  • GitLab: You cannot create a branch with a SHA-1 or SHA-256 branch name
  • mp4视频流推送的学习
  • Rust SQLx CLI 同步迁移数据库
  • 【已解决】git push需要输入用户名和密码问题
  • 【HTML】关于列表标签和表格标签
  • 计算机毕业设计Python+卷积神经网络股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI
  • UCOS-II 自学笔记
  • 性能测试生产环境只读业务压力测试及容量评估
  • elasticsearch现有集群扩展节点
  • 随着新技术和产业政策的双轮驱动,未来中国【电子氟化液】市场将迎来发展机遇
  • 【Python数据分析】房价预测:使用线性回归模型预测波士顿房价
  • 《白帽子讲Web安全》15-16章
  • 渐冻症:在困境中寻找希望之光
  • 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  • SpringBoot 架构助力夕阳红公寓管理系统可持续发展战略
  • 半桥LLC谐振变换器及同步整流MATLAB仿真(二)
  • UE5_CommonUI简单使用(2)
  • 电脑启动需要经历哪些过程?
  • 如何看linux系统内核是aarch64 ,还是64-bit
  • 【AI】学习路径
  • 2023信息安全管理与评估-linux应急响应-1
  • C++软件设计模式之组合模式概述
  • HTML 中 a 标签跳转问题总结:从框架页面跳转的困境与突破
  • 2411mfc,修改按钮颜色