【Leetcode 1941 】 检查是否所有字符出现次数相同 —— 数组模拟哈希表

embedded/2024/10/18 12:32:32/

给你一个字符串 s ,如果 s 是一个  字符串,请你返回 true ,否则请返回 false 。

如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是  字符串。

示例 1:

输入:s = "abacbc"
输出:true
解释:s 中出现过的字符为 'a','b' 和 'c' 。s 中所有字符均出现 2 次。

示例 2:

输入:s = "aaabb"
输出:false
解释:s 中出现过的字符为 'a' 和 'b' 。
'a' 出现了 3 次,'b' 出现了 2 次,两者出现次数不同。

提示:

  • 1 <= s.length <= 1000
  • s 只包含小写英文字母。

 

哈希表

/*
https://leetcode.cn/u/cshappyeveryday/
执行用时:62 ms, 在所有 Typescript 提交中击败了100.00%的用户
内存消耗:52.18 MB, 在所有 Typescript 提交中击败了66.67%的用户
2024年8月24日 
*/
function areOccurrencesEqual(s: string): boolean {const charMap = new Map<string, number>();for (const char of s) {charMap.set(char, (charMap.get(char) || 0) + 1);}return new Set(charMap.values()).size === 1;
}

数组模拟哈希表

// 数组模拟哈希表
function areOccurrencesEqual2(s: string): boolean {const arr = new Array(26).fill(0);for (const char of s) {arr[char.charCodeAt(0) - "a".charCodeAt(0)]++;}return new Set(arr.filter((n) => n)).size === 1;
}


http://www.ppmy.cn/embedded/100337.html

相关文章

一文掌握 Go 内存对齐

往期精选文章推荐&#xff1a; 深入理解 go map go 常用关键字 深入理解 Go 数组、切片、字符串 深入理解channel 深入理解 go context 深入 go interface 底层原理 深入理解 go reflect 深入理解 go unsafe 前言 在前面的文章 《深入理解 go reflect》和 《深入理解…

粘包和抓包工具

在网络传输中&#xff0c;"粘包"&#xff08;TCP粘包&#xff09;是指使用TCP协议进行数据传输时&#xff0c;发送方发送的多个数据包被接收方一次性接收或者接收方一次读取操作获取到了发送方多次发送的数据。这种情况通常发生在使用TCP协议的socket编程中。 TCP是…

pikachu-ssrf_redis

目录 SSRF 1、SSRF漏洞介绍&#xff1a; 2、SSRF漏洞原理&#xff1a; 3、SSRF漏洞利用手段&#xff1a; 4、SSRF漏洞绕过方法&#xff1a; SSRF(curl)用法 1、通过网址访问链接 2、利用file协议查看本地文件 3、dict协议扫描内网主机开放端口 4.gopher&#xff1a;威…

《javaEE篇》--定时器

定时器概念 当我们不需要某个线程立刻执行&#xff0c;而是在指定时间点或指定时间段之后执行&#xff0c;假如我们要定期清理数据库里的一些信息时&#xff0c;如果每次都手动清理的话就太麻烦&#xff0c;所以就可以使用定时器。定时器就可以比作一个闹钟&#xff0c;可以让…

Image Stride(内存图像行跨度)

When a video image is stored in memory, the memory buffer might contain extra padding bytes after each row of pixels. The padding bytes affect how the image is store in memory, but do not affect how the image is displayed. 当视频图像存储在内存时&#xff0…

object.defineProperty用法

Object.defineProperty 是 JavaScript 中一个用于定义对象属性的静态方法。它允许你精确控制对象的属性&#xff0c;包括属性的值、可写性、可枚举性和可配置性等特性。这个方法在需要定义特殊的属性行为时非常有用&#xff0c;例如&#xff0c;在 Vue.js 中&#xff0c;它常用…

OD C卷 - Wonderland游乐园

Wonderland游乐园&#xff08;200&#xff09; 游乐园有四种售票方式&#xff0c;分别为一日票&#xff0c;三日票&#xff0c;周票&#xff08;7天&#xff09;、月票&#xff08;30天&#xff09;&#xff1b;每种票据在时限内可以无限制游玩&#xff0c;如第10天买了一个三…

通过建模走出人工智能寒冬

很多人对 GenAI 是否会产生商业影响持怀疑态度&#xff0c;但我认为他们不仅错了&#xff0c;而且犯了 2001 年人们在互联网上犯下的错误。他们认为硅谷的炒作是无稽之谈&#xff0c;因此其背后的想法也是无稽之谈。 这是很危险的&#xff0c;我认为&#xff0c;这比大多数零售…