map用于leetcode

server/2024/12/2 20:37:13/

javascript">    //第一种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
}

javascript"> 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.ppmy.cn/server/146829.html

相关文章

【LeetCode: 3232. 判断是否可以赢得数字游戏 + 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

多线程安全单例模式的传统解决方案与现代方法

在多线程环境中实现安全的单例模式时&#xff0c;传统的双重检查锁&#xff08;Double-Checked Locking&#xff09;方案和新型的std::once_flag与std::call_once机制是两种常见的实现方法。它们在实现机制、安全性和性能上有所不同。 1. 传统的双重检查锁方案 双重检查锁&am…

数据结构 (16)特殊矩阵的压缩存储

前言 特殊矩阵的压缩存储是数据结构中的一个重要概念&#xff0c;它旨在通过找出特殊矩阵中值相同的矩阵元素的分布规律&#xff0c;把那些呈现规律性分布的、值相同的多个矩阵元素压缩存储到一个存储空间中&#xff0c;从而节省存储空间。 一、特殊矩阵的定义 特殊矩阵是指具有…

【ETCD】etcd简单入门之基础操作基于etcdctl进行操作

这里将使用etcdctl命令行工具来进行演示&#xff0c; 1、使用put命令向etcd写入kv对 使用etcdctl put命令来设置键值对。put命令接受两个参数&#xff1a;键和值 使用方法&#xff1a; NAME:put - Puts the given key into the storeUSAGE:etcdctl put [options] <key&g…

Qt如何改变串口读取数据的频率

在Qt中&#xff0c;通过串口&#xff08;QSerialPort&#xff09;读取数据的频率通常是由以下几个因素决定的&#xff1a; 数据到达的频率&#xff1a;这是由外部设备决定的&#xff0c;Qt程序无法直接控制。读取操作的触发方式&#xff1a;Qt提供了多种方式来读取串口数据&am…

鲲鹏麒麟安装离线版MySQL5.7

最近有项目需求&#xff0c;需要在鲲鹏ARM服务器上安装数据库MySQL5.7&#xff0c;服务器为鲲鹏920&#xff0c;操作系统Kylin Linux Advanced Server release V10 (Tercel) 安装包 下载地址&#xff1a;https://cloud.189.cn/t/JRVnmeEvMRZ3&#xff08;访问码&#xff1a;t…

抽卡代码(简陋) C#

简单写了一个抽卡代码&#xff0c;没有修饰&#xff0c;用起来其实还挺难受的。抽10连的时候按0可以跳过抽取过程。 using System; using System.Collections.Generic; using System.Threading;class Program {static void Main(){//随机数初始化Random random new Random();…

【Linux】-操作系统

&#x1f511;&#x1f511;博客主页&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列专栏&#xff1a;深入代码世界&#xff0c;了解掌握 Linux 欢迎来到泊舟小课堂 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​​ 一、冯•诺依曼架构&#xff…