第 375 场 LeetCode 周赛题解

A 统计已测试设备

在这里插入图片描述
在这里插入图片描述

模拟:记录当前已测试设备数量

class Solution {
public:
    int countTestedDevices(vector<int> &batteryPercentages) {
        int res = 0;
        int s = 0;
        for (auto x: batteryPercentages) {
            if (x - s > 0) {
                res++;
                s++;
            }
        }
        return res;
    }
};

B 双模幂运算

在这里插入图片描述

快速幂

class Solution {
public:
    int fpow(int x, int n, int mod) {// x^n%mod
        int res = 1;
        for (int e = x; n; e = e * e % mod, n >>= 1)
            if (n & 1)
                res = res * e % mod;
        return res;
    }

    vector<int> getGoodIndices(vector<vector<int>> &variables, int target) {
        vector<int> res;
        for (int i = 0; i < variables.size(); i++)
            if (fpow(fpow(variables[i][0], variables[i][1], 10), variables[i][2], variables[i][3]) == target)
                res.push_back(i);
        return res;
    }
};

C 统计最大元素出现至少 K 次的子数组

在这里插入图片描述

滑动窗口:枚举滑窗的左边界 l l l,找到满足条件的最小右边界 r r r ,则左边界为 l l l 的满足条件的子数组数目为 n u m s . s i z e ( ) − r nums.size()-r nums.size()r

class Solution {
public:
    long long countSubarrays(vector<int> &nums, int k) {
        int mx = *max_element(nums.begin(), nums.end());
        int n = nums.size();
        long long res = 0;
        int cnt = 0;
        for (int l = 0, r = -1; l < n;) {
            while (cnt < k && r + 1 < n)
                if (nums[++r] == mx)
                    cnt++;
            if (cnt < k)
                break;
            res += n - r;
            if (nums[l++] == mx)
                cnt--;
        }
        return res;
    }
};

D 统计好分割方案的数目

在这里插入图片描述

计数:因为相同数字必须在一个子数组中,所以可以预先求出 n u m s nums nums 按要求最多可以划分成的子数组数目 c n t cnt cnt,原数组好分割方案数目等于 c n t cnt cnt 个互不相同的数形成的数组的好分割方案数目,即 2 c n t − 1 2^{cnt-1} 2cnt1

class Solution {
public:
    int numberOfGoodPartitions(vector<int> &nums) {
        int n = nums.size();
        unordered_map<int, int> r;//记录每个数出现的最右小标
        for (int i = 0; i < n; i++)
            r[nums[i]] = i;
        int cnt = 0;//按要求最多可以划分成的子数组数目
        for (int i = 0, right = r[nums[0]]; i < n;) {
            if (i != right) {
                right = max(right, r[nums[i++]]);
            } else {
                cnt++;
                if (i == n - 1)
                    break;
                right = r[nums[++i]];
            }
        }
        int mod = 1e9 + 7;
        int res = 1;
        for (int i = 0; i < cnt - 1; i++)
            res = res * 2 % mod;
        return (res + mod) % mod;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/235460.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Course3-Week1-无监督学习

Course3-Week1-无监督学习 文章目录 Course3-Week1-无监督学习1. 欢迎1.1 Course3简介1.2 数学符号约定 2. K-means算法2.1 K-means算法的步骤2.2 代价函数2.3 选择聚类数量 3. 异常检测3.1 异常检测的直观理解3.2 高斯分布3.3 异常检测算法3.4 选取判断阈值 ε \varepsilon ε…

面试操作系统八股文五问五答第一期

面试操作系统八股文五问五答第一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.死锁产生的条件 1.互斥条件&#xff0c;即当资源被一个线程使用&#xff08;…

安全高效 江西变电站成功应用国家电网无人机巡检

随着电力需求的迅速增长&#xff0c;电网的巡检、维护与保养变得越来越重要。为迎接这一挑战&#xff0c;江西供电公司的一座变电站成功引入了复亚智能国家电网无人机巡检系统&#xff0c;在提升巡检水平、开创新型巡检模式方面做出了重要尝试&#xff0c;为电网设备的高效巡检…

基于Java SSM框架实现宠物医院信息管理系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现宠物医院信息管理系统演示 java简介 Java语言是在二十世纪末由Sun公司发布的&#xff0c;而且公开源代码&#xff0c;这一优点吸引了许多世界各地优秀的编程爱好者&#xff0c;也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言…

[linux] 用命令行wget下载google drive的大文件

使用wget命令下载Google drive上的文件_ubuntu上wget下载谷歌云盘文件-CSDN博客 如何用命令行下载Google Drive上的共享文件&#xff1f;-腾讯云开发者社区-腾讯云 举例&#xff1a;https://drive.google.com/drive/folders/1vKj3VvJEKgS_o-uOSmz3I0-GomECpql3 1、在网页上&…

基于JavaWeb的物业管理系统运行部署教程

基于JavaWeb的物业管理系统 一、下载源码二、数据准备三、项目导入idea四、配置Tomcat五、修改数据库密码&运行项目六、测试项目七、问题修复 一、下载源码 源码地址&#xff1a;基于JavaWeb的物业管理系统源码 得到一个压缩包&#xff1a; 解压之后&#xff1a; 删除多…

基于SpringBoot+Vue社区医院服务系统(Java毕业设计)

点击咨询源码 大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的…

自适应中值滤波器的python代码实现-----冈萨雷斯数字图像处理

基本原理&#xff1a; 自适应中值滤波器是一种图像处理技术&#xff0c;用于去除图像中的噪声。其原理是根据像素周围邻域内像素值的特性&#xff0c;动态地选择滤波器的大小和中值滤波的程度。 **邻域选择&#xff1a;**对于每个像素点&#xff0c;选取一个窗口或者邻域&…

【数组Array】力扣-167 两数之和II-输入有序数组

目录 题目描述 解题过程 labuladong题解 题目描述 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &a…

归并排序与自然归并排序

归并排序 归并排序(merge - sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用.将已有的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序.若将两个有序表合并成一个有序表,成为二路归并. 核心步骤讲解 归并排序的…

题目:肖恩的乘法表(蓝桥OJ 3404)

题目描述&#xff1a; 解题思路&#xff1a; 本题采用二分中的二分答案。且本题check()用不到开数组&#xff0c;所以不需要开数组&#xff0c;脑海中想象一个数组就好了 题解&#xff1a; #include<bits/stdc.h> using namespace std; using ll long long;ll n, m , k…

Vue之模板语法

模板语法有两大类&#xff1a; 1.插值语法 2.指令语法 让我为大家介绍一下吧&#xff01; 一、插值语法 功能:用于解析标签体内容。 写法: {{xxx}}&#xff0c;xxx是js表达式&#xff0c;且可以直接读取到data中的所有属性。 举个例子&#xff1a; <!DOCTYPE html> &l…

Chrome浏览器中访问http会自动跳转https下,导致请求和文件不能正常访问

网上查了很多解决方案&#xff0c;例如清楚缓存等等其他方法&#xff0c;都不能解决该问题 例如&#xff1a; 地址栏输入&#xff1a; chrome://net-internals/#hsts找到底部Delete domain security policies一栏&#xff0c;输入想处理的域名&#xff0c;点击delete。 搞定了…

专业课145+总分440+东南大学920考研专业基础综合信号与系统数字电路经验分享

个人情况简介 今年考研440&#xff0c;专业课145&#xff0c;数一140&#xff0c;期间一年努力辛苦付出&#xff0c;就不多表了&#xff0c;考研之路虽然艰难&#xff0c;付出很多&#xff0c;当收获的时候&#xff0c;都是值得&#xff0c;考研还是非常公平&#xff0c;希望大…

【LeetCode刷题-树】-- 99.恢复二叉树

99.恢复二叉树 方法&#xff1a; 对二叉搜索树进行中序遍历得到值序列不满足的位置找到对应被错误交换的节点记为x和y交换x和y两个节点 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* Tre…

C++ 教程 - 01 基础篇

文章目录 C介绍环境配置第一个cpp程序案例练习 变量常量关系运算符逻辑运算符条件运算符位运算符类型转换分支循环程序调用综合案例 C介绍 基于C语言&#xff0c;继承了C的所有语法&#xff1b; 静态类型语言&#xff0c;需要先编译&#xff0c;再执行&#xff1b; 贴近底层硬…

20、关联容器、无序容器

20、关联容器、无序容器 关联容器mapmultimapsetmultiset 无序容器哈希unordered_map 关联容器 map // map的使用 #include <iostream> #include <map> #include <stdexcept> using namespace std;class Student{ public:Student(const string& name&qu…

【计算机网络】TCP socket编程

目录 ​编辑 一、前言 二、概念 1、通信模型&#xff1a; 2、端口&#xff1a; 3、IP地址&#xff1a; 4、协议&#xff1a; 三、简单搭建 1、服务器代码 2、客户端代码 一、前言 Socket&#xff08;套接字&#xff09;是计算机网络中用于实现进程之间通信的一种机制…

Nacos配置管理-微服务配置拉取

yaml已配置内容 目录 一、配置获取步骤 二、统一配置管理步骤 三、Nacos管理配置的步骤总结 一、配置获取步骤 二、统一配置管理步骤 1、引入Nacos的配置管理客户端依赖: <!--nacos配置管理依赖--> <dependency> <groupId>com.alibaba.cloud&l…

企业欠税信息API:实现税务管理的智能化与高效化

前言 随着经济的发展和社会的进步&#xff0c;企业欠税问题逐渐凸显&#xff0c;成为制约经济发展的重要因素。为了解决这一问题&#xff0c;企业欠税信息API应运而生。它通过先进的技术手段&#xff0c;提供了一种全新的欠税信息查询方式&#xff0c;帮助企业实现税务管理的智…