尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

力扣 第 476 场周赛(A~D)

力扣 第 476 场周赛(A~D)
📅 发布时间:2026/6/18 18:19:22
力扣 第 476 场周赛(A~D)

A:3745. 三元素表达式的最大值
签到题,直接排序,首尾分别取两个和一个就可以了。

1 class Solution {
2 public:
3     int maximizeExpressionOfThree(vector<int>& nums) {
4         sort(nums.begin(),nums.end(),greater<int>());
5         return nums[0]+nums[1]-nums.back();
6     }
7 };

B:3746. 等量移除后的字符串最小长度

脑筋急转弯。当字符串中存在a和b两种字符的时候,一定可以进行一个操作,选择一个子串ab或者ba,将其移除。

那么最后停止条件则为只剩下一种字符,答案也即为两种元素个数的差值。

1 class Solution:
2     def minLengthAfterRemovals(self, s: str) -> int:
3         cnt=Counter(s)
4         return abs(cnt['a']-cnt['b'])

C:3747. 统计移除零后不同整数的数目
要统计小于等于n的数中删除0后还有多少种数字,删除0的含义是比如1002删除0后为12.

可以发现,某个含0的数字删除0后位数会变少,那么也就和位数更少的某种情况重合了,也就是说含0的数字是直接不计数的,问题也就变成了1~n有多少个不含0的数字。

设n的长度为L,那么对于1~L-1长度的数字,1~9能够任选,也即共有9+9^2+9^3+..+9^(L-1)。

那么对于长度等于L的数字呢?假设n=2341,第一位取1时,后面的随便取有9^3个,第一位取2,且第二位取1~2时,后面的随便取有9^2个。

 1 class Solution:
 2     def countDistinct(self, n: int) -> int:
 3         s=str(n)
 4         l=len(s)
 5         t=9
 6         ans=0
 7         for _ in range(0,l-1):
 8             ans+=t
 9             t*=9
10         for i,c in enumerate(s):
11             x=int(c)
12             if x==0:
13                 break
14             v=x-1
15             if i==l-1:
16                 v+=1
17             ans+=v*(9**(l-i-1))
18         return ans

D:3748. 统计稳定子数组的数目

给定长1e5的数组,以及1e5的query,每个query一个l,r,问l~r内非递减子数组有多少个。

对于一个长为k的非递减数组,他的非递减子数组有多少个呢?

长为k的有一个,长为k-1的有2个....长为1的有k个。总共有(k+1)*k/2个。

那么我们可以把原数组分为多个非递减子数组,记录他们的起始位置。l,r普遍的情况是跨段,即左半和右半是非递减的一部分,中间是多个非递减子数组。

中间段的我们可以提前用前缀和维护好,在O(1)的时间复杂度内查询到,左右两段用二分找到分界点,计算一遍即可,这题主要难在下标,给绕晕了。

 1 typedef long long LL;
 2 class Solution {
 3 public:
 4     vector<long long> countStableSubarrays(vector<int>& nums, vector<vector<int>>& queries) {
 5         int n=nums.size();
 6         vector<int> left;
 7         vector<LL> s={0};
 8         int start=0;
 9         for(int i=0;i<n;i++){
10             if(i==n-1 || nums[i]>nums[i+1]){
11                 left.push_back(start);
12                 LL m=i-start+1;
13                 s.push_back(s.back()+m*(m+1)/2);
14                 start=i+1;
15             }
16         }
17         vector<LL> ans;
18         ans.reserve(queries.size());
19         for(auto q:queries){
20             int l=q[0],r=q[1];
21             int i=lower_bound(left.begin(),left.end(),l)-left.begin();
22             int j=upper_bound(left.begin(),left.end(),r)-left.begin()-1;
23             if(i>j){
24                 long long m=r-l+1;
25                 ans.push_back(m*(m+1)/2);
26                 continue;
27             }
28             long long m1=left[i]-l;
29             long long m2=r-left[j]+1;
30             ans.push_back(m1*(m1+1)/2+m2*(m2+1)/2+(s[j]-s[i]));
31         }
32         return ans;
33     }
34 };

 

相关新闻

  • 2025 年 11 月冷却塔厂家推荐排行榜,闭式冷却塔,方形冷却塔,工业冷却塔,全钢冷却塔,凉水塔,圆形冷却塔,玻璃钢冷却塔,防腐冷却塔,冷却水塔公司推荐
  • 3.分治算法的设计思想与分析方法
  • 2025 年 11 月螺杆泵厂家推荐排行榜,单干污泥料斗,浆料进料喂料,高压耐磨石油工业,化工环保食品级,船舶造纸加药计量,耐腐蚀高粘度污水污泥,不锈钢铸铁304316螺杆泵公司推荐

最新新闻

  • 雀魂数据分析终极神器:3步解锁你的麻将潜能提升秘籍
  • 深入解析8位MCU电机控制SDK:ADC缓冲模式、LED与开关驱动实战
  • MetalLB v0.13到v0.14技术架构转型:从ConfigMap到CRD的现代化迁移实践
  • 052、回流焊与波峰焊基础
  • 终极免费等距图表工具:FossFLOW完全指南与一键部署方案
  • 2026江浙沪线下零基础AI培训避坑指南:从转行到高薪就业的理性选择 - 品牌报告

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号