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

力扣算法题

文章目录

  • 算法
    • [217. 存在重复元素](https://leetcode.cn/problems/contains-duplicate/description/)
    • [242. 有效的字母异位词](https://leetcode.cn/problems/valid-anagram/description/)

算法

用到的数据结构数组、哈希表、矩阵、栈、队列、链表、树、前缀树、图
算法技巧和思维双指针、滑动窗口、回溯、贪心、动态规划
力扣

217. 存在重复元素

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

实现方法

// sort + 循环varcontainsDuplicate=function(nums){nums.sort()for(vari=0;i<nums.length;i++){if(nums[i]==nums[i+1])returntrue}returnfalse};// Set构造函数+lengthvarcontainsDuplicate=function(nums){//Array.from将类数组转成数组letarr=Array.from(newSet(nums))if(arr.length!=nums.length)returntruereturnfalse};// indexOf+循环varcontainsDuplicate=function(nums){for(vari=0;i<nums.length;i++){if(nums.indexOf(nums[i])!=i)returntrue}returnfalse};//MapvarcontainsDuplicate=function(nums){lethMap=newMap()for(constnofnums){if(hMap.has(n))returntruehMap.set(n,true)}returnfalse};//SetvarcontainsDuplicate=function(nums){lethSet=newSet()for(constnofnums){if(hSet.has(n))returntruehSet.add(n)}returnfalse};

242. 有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词(字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次)

实现方法

//方法一varisAnagram=function(s,t){returns.length==t.length&&[...s].sort().join('')===[...t].sort().join('')};//方法二functionisAnagram(s,t){// 如果长度不同,直接返回 falseif(s.length!==t.length){returnfalse;}// 初始化计数器数组,假设字符集为小写字母,ASCII码范围是97到122constcounter=newArray(26).fill(0);// 增加s中字符的计数for(letcharofs){//char.charCodeAt(0) - 'a'.charCodeAt(0)代表下标,如b字母,98-97=1,下标为1//counter[1]++counter[char.charCodeAt(0)-'a'.charCodeAt(0)]++;}// 减少t中字符的计数for(letcharoft){counter[char.charCodeAt(0)-'a'.charCodeAt(0)]--}// 检查计数器中所有值是否为0for(letcountofcounter){if(count!==0){returnfalse;}}returntrue;}

关联到的知识点

http://www.jsqmd.com/news/472767/

相关文章:

  • 在资产测绘查询若依框架时找到了一个某周报管理系统
  • OpenClaw实战指南1-OpenClaw是什么
  • 土地储备政策汇编
  • 华为OD机考双机位C卷 - 天然蓄水库 (Java)
  • ECharts-大屏开发复习记录与踩坑总结
  • Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
  • 学习基于数字孪生的工艺参数优化
  • PyTorch快速入门:环境到数据实战
  • 源码: 以下代码包含了一个数据库所有的 CRUD (增删改查)操作。 <div> <button id=“js_add_btn“>添 ...
  • 基于spring boot的实验室开放管理系统毕业论文+PPT(附源代码+演示视频)
  • UniTac-NV开源:实现Xela与Contactile触觉传感器数据统一的新框架
  • MIPI CSI-2 LRTE功能详细介绍
  • 想用LoRA实时微调外挂作为LLM知识库?这篇论文说明能力边界
  • STM32报错日志(1)_FreeRTOS-01
  • 急疯了!手滑删除了核心单据,老板还催着汇报数据,从头补录真的太多了……
  • 道生一,一生二,二生气,气生万物。一到十的物理变化《函谷门》
  • docker-compose部署gitlab
  • 鸿蒙常见问题分析三十二:Column子组件超出容器边界
  • 深度学习分子动力学实战教程(非常详细),机遇陷阱与应对策略从入门到精通,收藏这一篇就够了!
  • DevOps_node
  • C++继承机制
  • 小黑课堂【计算机二级】WPSoffice题库软件下载安装教程
  • 基于python的网络生鲜超市购物管理系统的设计与实现
  • 模型文件硬塞进 Git,GitHub 直接打回原形:使用Git-LFS管理大文件
  • 4卡L20 48G部署Qwen3-32B终极指南:从入门到“真·跑起来
  • 【Redis系列】RedisTemplate的使用与注意事项
  • 开箱即用,龙虾最佳伴侣,不服来战!
  • Vue3+Element Plus对话框保存按钮禁用状态控制(打开对话框时禁用、数据加载过程中禁用、数据加载完成后若无修改则禁用、用户修改明细后启用、保存成功后再次禁用)
  • 基于Cherry Studio+三方MCP+LLM在本地构建MySQL查询助手
  • 2026财富觉醒:普通人如何靠“懒人法则”实现资产滚雪球?(保姆级干货)