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

1170. 比较字符串最小字母出现频次

题目

1170. 比较字符串最小字母出现频次 - 力扣(LeetCode)

code

class Solution {
public:
    vector<int> numSmallerByFrequency(vector<string>& queries, vector<string>& words) {
        
        int m1 = queries.size(), m2 = words.size();

        // 计算每个字符串最小字符出现的次数
        auto getCnt = [&](string s)->int{
            sort(s.begin(), s.end());// 升序
            int cnt = count(s.begin(), s.end(), s[0]);
            return cnt;
        };

        vector<int> ans; vector<int> words_cnt;
        for(string word : words){
            int cnt = getCnt(word);
            words_cnt.emplace_back(cnt);
        }

        sort(words_cnt.begin(), words_cnt.end());

        for(string query : queries){
            int cnt = getCnt(query);
            int pos = upper_bound(words_cnt.begin(), words_cnt.end(), cnt) - words_cnt.begin();
            ans.emplace_back(m2 - pos);
            // 可优化成一句话
// ans.emplace_back(m2 - (upper_bound(words_cnt.begin(), words_cnt.end(), getCnt(query)) - words_cnt.begin()));
        }

        return ans;

    }
};

http://www.dtcms.com/a/19000.html

相关文章:

  • 向量元素间是否相等mask矩阵
  • 《Foundation 起步》
  • Linux系统常用命令用法详解
  • 【ROS2】RViz2源码分析(七):DisplaysPanel 中的树状模型/视图
  • 网页五子棋——用户模块
  • Spring Boot 整合 Keycloak
  • 【计算机网络】TCP三次握手
  • GeekPad智慧屏编程控制(三)
  • 光谱相机在天文学领域的应用
  • 【Python爬虫(3)】解锁Python爬虫技能树:深入理解模块与包
  • cursor免费次数用完了怎么再续?以及如何更新机器码?
  • JavaWeb——Servlet基础
  • complete_all 简介
  • 面试真题 | 招银 C++
  • DeepSeek的API密钥怎么使用
  • 【触想智能】工业显示器和普通显示器的区别以及工业显示器的主要应用领域分析
  • Neo4j集群学习
  • C#使用文件读写操作实现仙剑五前传称号存档修改
  • 工作一个月的经历和总结
  • Unity学习part3
  • 云计算——AWS Solutions Architect – Associate(saa)7.放置群组
  • 【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数
  • 【Black Mesa】黑山起源用服务器开服多人联机教程
  • 2025年2月15日(虚拟环境-deepseek)
  • 什么是BlockingQueue?什么是阻塞队列?它的特点是什么?阻塞队列的生产方法和消费方法有什么?
  • 最佳的出牌方法
  • PbootCMS增加可允许上传文件类型,例如webp、mov等文件格式扩展
  • [小M全新力作-修稿]PFC_LLC电源设计全攻略:从原理学习到SIMULINK仿真到EDA板实战,再到实物电源调试
  • 什么是元学习?
  • 算法思考:非0整数除法