news 2026/6/23 0:55:39

D.二分查找-进阶——1170. 比较字符串最小字母出现频次

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
D.二分查找-进阶——1170. 比较字符串最小字母出现频次

题目链接:1170. 比较字符串最小字母出现频次(中等)

算法原理:

解法:二分查找-求最右端点

6ms击败44.49%

时间复杂度O(Nlogn)

问题转化:将次数都抽取出来,那么就是说从words的次数数组中找到比queries[i]的次数大的次数的个数

问题转化后跟下面这题基本一模一样👇

D.二分查找-基础——744. 寻找比目标字母大的最小字母

大家如果还是看不懂的话就看下面的笔记吧,从怎么想到的->如何推导的->如何理解,全能解决👇

Java代码:

class Solution { public int[] numSmallerByFrequency(String[] queries, String[] words) { //问题转化:将次数都抽取出来,那么就是说从words的次数数组中找到比queries[i]的次数大的次数的个数 int n=queries.length,m=words.length; int[] nums1=new int[n]; int[] nums2=new int[m]; for(int i=0;i<n;i++) nums1[i]=f(queries[i]); for(int i=0;i<m;i++) nums2[i]=f(words[i]); Arrays.sort(nums2); int[] ret=new int[n]; for(int i=0;i<n;i++){ //设定目标值t int t=nums1[i]; //找最右端点 int left=0,right=m-1; while(left<right){ int mid=left+(right-left+1)/2; if(nums2[mid]>t) right=mid-1; else left=mid; } ret[i]=nums2[left]>t?m:(left+1<m?m-(left+1):0); } return ret; } //计算每个字符串的字数 private int f(String s){ //只有小写字母,可用数组代替哈希表 int[] hash=new int[26]; //记录出现的最小的字母的索引 int min=26; for(char c:s.toCharArray()){ int index=c-'a'; hash[index]++; min=index<min?index:min; } return hash[min]; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 4:45:48

uv-ui框架:重新定义多端开发的终极解决方案

uv-ui框架&#xff1a;重新定义多端开发的终极解决方案 【免费下载链接】uv-ui uv-ui 破釜沉舟之兼容vue32、app、h5、小程序等多端基于uni-app和uView2.x的生态框架&#xff0c;支持单独导入&#xff0c;开箱即用&#xff0c;利剑出击。 项目地址: https://gitcode.com/gh_m…

作者头像 李华
网站建设 2026/6/22 20:47:50

5分钟极速上手:Mermaid Live Editor文本绘图终极指南

还在为技术文档的可视化表达而头疼吗&#xff1f;Mermaid Live Editor作为一款革命性的在线图表工具&#xff0c;让您通过简洁的文本语法快速生成专业级图表。这款基于React开发的实时编辑器支持流程图、序列图、甘特图等多样化图表类型&#xff0c;为系统设计、项目管理和技术…

作者头像 李华
网站建设 2026/6/23 1:59:19

如何在浏览器中轻松创建专业Word文档:DOCX.js实用指南

如何在浏览器中轻松创建专业Word文档&#xff1a;DOCX.js实用指南 【免费下载链接】DOCX.js Generate Microsoft Word DOCX files in pure client-side JavaScript. Try in Chrome 项目地址: https://gitcode.com/gh_mirrors/do/DOCX.js 还在为生成Word文档而烦恼吗&…

作者头像 李华
网站建设 2026/6/23 17:28:45

2025终极指南:LinkSwift网盘直链解析工具,一键获取高速下载链接

2025终极指南&#xff1a;LinkSwift网盘直链解析工具&#xff0c;一键获取高速下载链接 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&am…

作者头像 李华
网站建设 2026/6/23 14:16:37

24、深入探索XPath与XPointer:精准定位XML资源

深入探索XPath与XPointer:精准定位XML资源 1. XPath表达式基础 XPath表达式可包含路径或函数。在完整路径中,函数包含在谓词里;在缩写路径中,函数跟在连接符号 # 之后。例如 position() 函数,之前在 <smokeyPrice> 链接元素示例中已介绍过,在位置路径的第二…

作者头像 李华
网站建设 2026/6/23 19:33:21

33、资源描述框架(RDF):语义网的关键技术

资源描述框架(RDF):语义网的关键技术 1. 网络信息搜索难题 在网络信息的海洋中,搜索合适的内容并非易事。一方面,存在简单的语义问题,比如搜索结果可能涉及牙科、五金店、军事演习等,而我们原本想要的可能是矿业勘探和生产技术相关内容。如果再遇到语言或文化变量,那…

作者头像 李华