力扣第 365 场周赛虚拟参赛

有序三元组中的最大值 I

class Solution {
public:long long maximumTripletValue(vector<int>& nums) {vector<long long> num;for (auto &item:nums) {num.push_back(item*1ll);}long long z = 0,f = 1000000;long long ans = 0;long long maxx = num[0],minn = num[0];for (int i = 1;i < nums.size();i ++) {if (i > 1 ) {if (nums[i] > 0) {ans = max(ans,num[i]*z);} else {ans = max(ans,num[i]*f);}}z = max(z,maxx-num[i]);f = min(f,minn-num[i]);minn = min(minn,num[i]);maxx = max(maxx,num[i]);}return ans;}
};

有序三元组中的最大值 II

class Solution {
public:long long maximumTripletValue(vector<int>& nums) {vector<long long> num;for (auto &item:nums) {num.push_back(item*1ll);}long long z = 0,f = 1000000;long long ans = 0;long long maxx = num[0],minn = num[0];for (int i = 1;i < nums.size();i ++) {if (i > 1 ) {if (nums[i] > 0) {ans = max(ans,num[i]*z);} else {ans = max(ans,num[i]*f);}}z = max(z,maxx-num[i]);f = min(f,minn-num[i]);minn = min(minn,num[i]);maxx = max(maxx,num[i]);}return ans;}
};

无限数组的最短子数组

  • 题意
    在这里插入图片描述
  • 思路
    把target/nums_sum 个数加上,剩下的就是拼接一下找最短子数组
class Solution {
public:int minSizeSubarray(vector<int> &nums, int target) {long long total = accumulate(nums.begin(), nums.end(), 0LL);int n = nums.size();int ans = INT_MAX;int left = 0;long long sum = 0;for (int right = 0; right < n * 2; right++) {sum += nums[right % n];while (sum > target % total) {sum -= nums[left++ % n];}if (sum == target % total) {ans = min(ans, right - left + 1);}}return ans == INT_MAX ? -1 : ans + target / total * n;}
};

有向图访问计数(待补)

  • 题意
    在这里插入图片描述
  • 思路
    在这里插入图片描述
  • 代码
class Solution {
public:vector<int> countVisitedNodes(vector<int>& edges) {int n = edges.size();// e[sn] 表示从 sn 出发的反向边(即原图以 sn 为终点的边)vector<int> e[n];for (int i = 0; i < n; i++) e[edges[i]].push_back(i);// vis 数组用来求环长int vis[n];memset(vis, 0, sizeof(vis));// dis[i] 表示从点 i 走到环上的距离int dis[n];memset(dis, -1, sizeof(dis));vector<int> ans(n);// 对每个连通块分别求答案for (int S = 0; S < n; S++) if (dis[S] == -1) {// 从任意一点出发,都能走到环上,模拟求环长int now = S, cnt = 1;for (; vis[now] == 0; now = edges[now], cnt++) vis[now] = cnt;int loop = cnt - vis[now];// 从环上每个点开始,在反向边上 bfs,求每个点走到环上的距离queue<int> q;q.push(now); dis[now] = 0;for (int sn = edges[now]; sn != now; sn = edges[sn]) q.push(sn), dis[sn] = 0;while (!q.empty()) {int sn = q.front(); q.pop();// 答案就是环长 + 走到环上的距离ans[sn] = dis[sn] + loop;for (int fn : e[sn]) if (dis[fn] == -1) {q.push(fn);dis[fn] = dis[sn] + 1;}}}return ans;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytest自动化框架运行全局配置文件pytest.ini

还记得在之前的篇章中有讲到Pytest是目前主要流行的自动化框架之一&#xff0c;他有基础的脚本编码规则以及两种运行方式。 pytest的基础编码规则是可以进行修改&#xff0c;这就是今日文章重点。 看到这大家心中是否提出了两个问题&#xff1a;pytest的基础编码规则在哪可以…

【题库】咸鱼之王答题挑战题库大全

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] [{name: , value: 未匹配到内容},# 第一期{name: 《三国演义》中&#xff0c;「大意失街亭」的是马谩&#xff1f;, value: 对},{name: 《三国演义》中&#xff0c;「挥泪斩马谩」的是孙权&#xff1f;, value: 错…

ElementUI之动态树+数据表格+分页

目录 一、动态树 1.1 定义 1.2 导航菜单绑定 1.3 面板内容 1.4 效果展示 二、动态表格 2.1 定义 2.2 搜索框 2.3 数据表格 2.4 分页条 2.5 功能实现 一、动态树 1.1 定义 动态树通常是指在网页或应用程序中创建可展开和折叠的树形结构&#xff0c;其中树的节点是动…

蓝桥杯每日一题2023.10.4

双向排序 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 六十分解法如下&#xff1a;按照题意简单排序 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, m, p, q, a[N]; bool cmp(int x, int y) {return x > y; } int main() {cin >&g…

Ubuntu22.04 交叉编译gcc9.5 for arm

一、准备 环境&#xff1a;ubuntu22.04为刚刚安装&#xff0c;未安装gcc等包 vi ~/.bashrc输入 export PATH$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin 保存,reboot 安装&#xff1a; sudo apt install cmake sudo apt install gawk sudo apt instal…

公众号突破2个限制技巧

许多用户在注册公众号时可能会遇到“公众号显示主体已达上限”的问题。这是因为在2018年11月16日对公众号注册数量进行了调整&#xff0c;具体调整如下&#xff1a;1、个人主体注册公众号数量上限从2个调整为1个。2、企业主体注册公众号数量上限从5个调整为2个。这意味着&#…

WebSocket实战之六心跳重连机制

一、前言 WebSocket应用部署到生产环境&#xff0c;我们除了会碰到因为经过代理服务器无法连接的问题&#xff08;注&#xff1a;该问题可以通过搭建WSS来解决&#xff0c;具体配置请看 WebSocket实战之四WSS配置 &#xff09;&#xff0c;另外一个问题就是外网环境不稳定经常…

Windows安装Docker并创建Ubuntu环境及运行神经网络模型

目录 前言在Windows上安装Docker在Docker上创建Ubuntu镜像并运行容器创建Ubuntu镜像配置容器&#xff0c;使其可以在宿主机上显示GUI 创建容器并运行神经网络模型创建容器随便找一个神经网络模型试试 总结 前言 学生党一般用个人电脑玩神经网络&#xff0c;估计很少有自己的服…

linux入门---信号的保存和捕捉

目录标题 信号的一些概念信号的保存pending表block表handler表 信号的捕捉内核态和用户态信号的捕捉 信号的一些概念 1.进程会收到各种各样的信号&#xff0c;那么程序对该信号进行实际处理的动作叫做信号的递达。 2.我们之前说过当进程收到信号的时候可能并不会立即处理这个信…

视频讲解|基于DistFlow潮流的配电网故障重构代码

目录 1 主要内容 2 视频链接 1 主要内容 该视频为基于DistFlow潮流的配电网故障重构代码讲解内容&#xff0c;对应的资源下载链接为基于DistFlow潮流的配电网故障重构(输入任意线路)&#xff0c;对该程序进行了详尽的讲解&#xff0c;基本做到句句分析和讲解&#xff08;讲解…

速看:免费领取4台阿里云服务器_申请入口及领取流程

注册阿里云账号&#xff0c;免费领云服务器&#xff0c;最高领取4台云服务器&#xff0c;每月750小时&#xff0c;3个月免费试用时长&#xff0c;可快速搭建网站/小程序&#xff0c;部署开发环境&#xff0c;开发多种企业应用。阿里云服务器网分享阿里云服务器免费领取入口、免…

最短路径专题5 最短路径

题目&#xff1a; 样例&#xff1a; 输入 4 5 0 2 0 1 2 0 2 5 0 3 1 1 2 2 3 2 2 输出 3 0->3->2 思路&#xff1a; 根据题目意思&#xff0c;求最短路&#xff0c;这个根据平时的Dijkstra&#xff08;堆优化&#xff09;即可&#xff0c;关键在于求路径的方法&#x…