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

第40天(中等题 数据结构)

打卡第四十天
2道简单题+1道中等题
image

题目:
image

思路:哈希表+位运算

代码:

class Solution {
public:int similarPairs(vector<string>& words) {unordered_map<int,int> cnt;int ans = 0;for(auto &s: words){// 遍历words中的每个字符串int mask = 0;for(char c: s){// 遍历当前字符串中的每个字符mask |= 1<<(c-'a');//将字符映射到bit位置}ans += cnt[mask];// 累加之前出现过相同字符集合的字符串数量cnt[mask] += 1;// 更新当前字符集合的出现次数}return ans;}
};

image

题目:
image

思路:把每个数字拆成"首位"和"末位",用当前数字的末位去匹配之前所有数字的首位,哈希表。

代码:

class Solution {
public:int countBeautifulPairs(vector<int> &nums) {int ans = 0, cnt[10]{};  // cnt: 统计首位数字出现次数的数组for (int x: nums) {      for (int y = 1; y <= 9; y++) {  // 遍历所有可能的首位数字if (gcd(x % 10, y) == 1) {  // 检查当前数字的末位与y是否互质ans += cnt[y];          // 如果互质,累加之前出现过的所有首位数字为y的数量}}while (x >= 10) {    x /= 10;         // 不断除以10,直到剩下首位数字}cnt[x]++;            // 更新首位数字的计数}return ans;              }
};

耗时≈一小时 明天继续

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

相关文章:

  • 核心功能详解
  • 2025-11-30-Nature Genetics | 本周最新文献速递
  • 效果-Element 3D
  • 2025苏州餐饮公司测评:苏州会议餐配送选这些,全区域超省心
  • 2025苏州承包食堂找哪家?苏州食堂承包优选清单
  • 2025不锈钢阀门厂家推荐:从口碑榜到销量榜清单在此
  • 2025脱酸脱盐设备公司有哪些:物料脱盐服务商优选指南
  • 2025隔音窗户哪个牌子好:广州隔音窗户哪家好盘点大测评
  • 截止阀厂家哪家好?2025截止阀品牌排行榜
  • 2025全自动吸吮式过滤器推荐厂家榜单
  • 旋片真空泵厂家有哪些2025真空系统厂家推荐
  • dotnet-dump安装、收集dump和崩溃自动收集dump
  • 虚拟机运行Vivado,部分界面显示不完全的问题
  • 《程序员修炼之道》笔记五
  • 商店礼包条目常用API
  • 《程序员修炼之道》笔记六
  • 账号诞生了,用做工作记录
  • 《程序员修炼之道》笔记四
  • wildshark
  • 后来,他长大了
  • 11月第三篇笔记
  • 11月29日总结 - 作业----
  • 11.29(2)
  • Go 语言与 Tesseract 实现验证码自动解析
  • Go 语言结合 Tesseract OCR 进行验证码识别
  • WordPress FindAll Membership插件身份验证绕过漏洞分析
  • 《程序员的修炼之道:从小工到专家》读后感一
  • we_will_rockyou
  • 11.29(1)
  • 251129我的效率为何如此之低