免费开发个人网站wordpress修改作者链接
2026/4/7 0:10:54 网站建设 项目流程
免费开发个人网站,wordpress修改作者链接,怎么用wordpress,广西城乡建设部网站题目链接#xff1a;1170. 比较字符串最小字母出现频次#xff08;中等#xff09; 算法原理#xff1a; 解法#xff1a;二分查找-求最右端点 6ms击败44.49% 时间复杂度O(Nlogn) 问题转化#xff1a;将次数都抽取出来#xff0c;那么就是说从words的次数数组中找到比qu…题目链接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 nqueries.length,mwords.length; int[] nums1new int[n]; int[] nums2new int[m]; for(int i0;in;i) nums1[i]f(queries[i]); for(int i0;im;i) nums2[i]f(words[i]); Arrays.sort(nums2); int[] retnew int[n]; for(int i0;in;i){ //设定目标值t int tnums1[i]; //找最右端点 int left0,rightm-1; while(leftright){ int midleft(right-left1)/2; if(nums2[mid]t) rightmid-1; else leftmid; } ret[i]nums2[left]t?m:(left1m?m-(left1):0); } return ret; } //计算每个字符串的字数 private int f(String s){ //只有小写字母可用数组代替哈希表 int[] hashnew int[26]; //记录出现的最小的字母的索引 int min26; for(char c:s.toCharArray()){ int indexc-a; hash[index]; minindexmin?index:min; } return hash[min]; } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询