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

LeetCode 1781. 所有子字符串美丽值之和 题解

示例

输入:s = "aabcb"
输出:5
解释:美丽值不为零的字符串包括 ["aab","aabc","aabcb","abcb","bcb"] ,每一个字符串的美丽值都为 1

这题光用文字解说还是无法达到讲解题目的预期,所以就结合图文一并来讲讲本题,我的做题思路

如图所示是abaacc这串字符串的遍历过程,根据题目我们可以知道,只有当三个字符起步的时候,才可能存在差值并可以计入统计的子字符串,r向右扩展l每次都得从0开始向右扩展至r-2,遍历所有的子字符串然后统计差值计入sum

维护的话我就选择使用map来统计数目,然后通过Math.max和Math.min方法获取最大的值和最小的值

class Solution {public int beautySum(String s) {// 可暴力 右扩展左收缩int n = s.length();int ans = 0;for(int i=0;i<n;i++){int l = 0;while(l<=i-2){HashMap<Character,Integer> map = new HashMap<>();int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;char val2 = s.charAt(l);for(int j=l;j<=i;j++){char val = s.charAt(j);map.put(val,map.getOrDefault(val,0)+1);}for(Map.Entry<Character,Integer> entry:map.entrySet()){// System.out.println("key="+entry.getKey()+" value="+entry.getValue());max = Math.max(max,entry.getValue());min = Math.min(min,entry.getValue());}ans+=max-min;// System.out.println("ans:"+ans);map.put(val2,map.getOrDefault(val2,0)-1);l++;}}return ans;}
}

虽然跑样例的确是过了,且其复杂度也和官方题解描述的暴力方法差不多,但是由于使用了map维护导致复杂度还是会略高于使用数组维护,所以最后也是喜提了超时报红。

class Solution {public int beautySum(String s) {int res = 0;for (int i = 0; i < s.length(); i++) {int[] cnt = new int[26];int maxFreq = 0;for (int j = i; j < s.length(); j++) {cnt[s.charAt(j) - 'a']++;maxFreq = Math.max(maxFreq, cnt[s.charAt(j) - 'a']);int minFreq = s.length();for (int k = 0; k < 26; k++) {if (cnt[k] > 0) {minFreq = Math.min(minFreq, cnt[k]);}}res += maxFreq - minFreq;}}return res;}
}

这上面是官方题解,和我思路差不多,都是暴力求解

相关文章:

  • ultralytics框架进行RT-DETR目标检测训练
  • EASM外部攻击面管理平台
  • Relay算子注册
  • 7.9/Q1,Charls最新文章解读
  • Dagger中编译import报找不到ProvideClientFactory,initialize中ProvideClientFactory爆红
  • 猿人学刷题系列(第一届比赛)——第一题
  • 技术对暴力的削弱
  • 【C/C++】构造函数与析构函数
  • 强化学习+多模态 从理论到实战
  • Python Cookbook-7.4 对类和实例使用 cPickle 模块
  • 论软件的可靠性设计
  • 排序算法——堆排序
  • 【PPT制作利器】DeepSeek + Kimi生成一个初始的PPT文件
  • 椭球面长度计算的两种公式及投影选择
  • MySQL 窗口函数入门到精通
  • Coding Practice,48天强训(30)
  • 泰迪杯特等奖案例学习资料:基于卷积神经网络与集成学习的网络问政平台留言文本挖掘与分析
  • 网页截图指南
  • 存储系列知识
  • k8s node 报IPVS no destination available
  • 复原展出孙吴大墓,江苏首座考古博物馆将开放
  • 机构发布“2025中国高职院校排名”
  • 昆明警方重拳打击经济领域违法犯罪:去年抓获905名嫌犯
  • 微软将在全球裁员6000人,目标之一为减少管理层
  • “异常”只停留在医院里,用艺术为“泡泡宝贝”加油
  • 外企聊营商|特雷通集团:税务服务“及时雨”