第 387 场周赛第一次AK记录

100243. 将元素分配到两个数组中 I

  • 题意在这里插入图片描述- 思路
    直接看代码

  • 代码

class Solution {
public:vector<int> resultArray(vector<int>& nums) {vector<int> arr1,arr2;arr1.push_back(nums[0]);arr2.push_back(nums[1]);for (int i = 2;i < nums.size();i ++) {if (arr1[arr1.size()-1] > arr2[arr2.size()-1]) arr1.push_back(nums[i]);else arr2.push_back(nums[i]);}vector<int> result;for (auto &a:arr1)result.push_back(a);for (auto &b:arr2) result.push_back(b);return result;}
};

100237. 元素和小于等于 k 的子矩阵的数目

  • 题意
    在这里插入图片描述

  • 思路
    二维前缀和

  • 代码

class Solution {
public:int countSubmatrices(vector<vector<int>>& grid, int k) {vector<vector<int>> grids;int m = grid.size();int n = grid[0].size();grids.resize(m);for (int i = 0;i < m;i ++)grids[i].resize(n);grids[0][0] = grid[0][0];for (int i = 1;i < n;i ++)grids[0][i] += grids[0][i-1] + grid[0][i];for (int i = 1;i < m;i ++)grids[i][0] += grids[i-1][0] + grid[i][0];for (int i = 1;i < m;i ++) for (int j = 1;j < n;j ++) grids[i][j] = grids[i-1][j] + grids[i][j-1] + grid[i][j] - grids[i-1][j-1];int sum = 0;for (int i = 0;i < m;i ++) for (int j = 0;j < n;j ++) if (grids[i][j] <= k)sum ++;return sum;} 
};

100234. 在矩阵上写出字母 Y 所需的最少操作次数

  • 题意

  • 思路
    枚举每一种可能
    在这里插入图片描述

  • 代码

class Solution {
public:int minimumOperationsToWriteY(vector<vector<int>>& grid) {int n = grid.size();int y[3] = {0};int _y[3] = {0};for (int i = 0;i < n;i ++) for (int j = 0;j < n;j ++){if (grid[i][j] == 0) _y[0] ++;if (grid[i][j] == 1) _y[1] ++;if (grid[i][j] == 2) _y[2] ++;if (grid[i][j] == 0 && (((i<=n/2)&&(i == j||j+i==n-1))||(i>n/2&&j == n/2))) y[0]++;if (grid[i][j] == 1 && (((i<=n/2)&&(i == j||j+i==n-1))||(i>n/2&&j == n/2))) y[1]++;if (grid[i][j] == 2 && (((i<=n/2)&&(i == j||j+i==n-1))||(i>n/2&&j == n/2))) y[2]++;}_y[0] -= y[0];_y[1] -= y[1];_y[2] -= y[2];// return y[0]// return y[1];// return y[2];int ans = n*n;for (int i = 0;i < 3;i ++) for (int j = 0;j < 3;j ++) {if (i == j) continue;int tans = n+n/2-y[i];tans += (n*n-n-n/2) - _y[j];if (tans < ans) ans = tans;}return ans;}
};

100246. 将元素分配到两个数组中2

  • 题意
    在这里插入图片描述

  • 思路
    离散化+树状数组

  • 代码

class Solution {
public:int n;vector<int> num1,bit1,bit2;vector<int> resultArray(vector<int>& nums) {n = nums.size();vector<int> num1;num1.resize(nums.size());num1 = nums;sort(num1.begin(),num1.end());map<int,int> mp,mp2;int t = 1;mp[num1[0]] = 1;mp2[1] = num1[0];for (int i = 1;i < n;i ++){if (num1[i] == num1[i-1]) {mp[num1[i]] = t;mp2[t] = num1[i];}else {t = i+1;mp[num1[i]] = t;mp2[t] = num1[i];}}for (int i = 0;i < n;i ++) num1[i] = mp[nums[i]];this->num1.resize(n+1);bit1.resize(n+1);bit2.resize(n+1);vector<int> arr1,arr2;n = num1.size();arr1.push_back(num1[0]);add1(num1[0],1);arr2.push_back(num1[1]);add2(num1[1],1);// return arr2;for (int i = 2;i < n;i ++) {if (arr1.size()-sum1(num1[i]) > arr2.size()-sum2(num1[i])) {arr1.push_back(num1[i]);add1(num1[i],1);}else if (arr1.size()-sum1(num1[i]) < arr2.size()-sum2(num1[i])) {arr2.push_back(num1[i]);add2(num1[i],1);} else if (arr1.size()-sum1(num1[i]) == arr2.size()-sum2(num1[i])) {if (arr1.size() <= arr2.size()) {arr1.push_back(num1[i]);add1(num1[i],1);}else if (arr1.size() > arr2.size()) {arr2.push_back(num1[i]);add2(num1[i],1);}}}vector<int> result;for (auto a:arr1) result.push_back(mp2[a]);for (auto b:arr2) result.push_back(mp2[b]);return result;}int lowbit(int x) {return x & -x;}void add1(int x, int v) {for (int i = x; i <= n; i += lowbit(i)) {bit1[i] += v;}}int sum1(int x) {int ret = 0;for (int i = x; i > 0; i -= lowbit(i)) {ret += bit1[i];}return ret;}void add2(int x, int v) {for (int i = x; i <= n; i += lowbit(i)) {bit2[i] += v;}}int sum2(int x) {int ret = 0;for (int i = x; i > 0; i -= lowbit(i)) {ret += bit2[i];}return ret;}
};

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

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

相关文章

动态IP代理技术在网络爬虫中的实际使用

目录 一、动态IP代理技术概述 二、动态IP代理技术的优势 三、动态IP代理技术的实际应用 四、注意事项 五、案例分析 六、结论 随着互联网的迅猛发展&#xff0c;网络爬虫成为了获取信息、分析数据的重要工具。然而&#xff0c;在进行大规模爬取时&#xff0c;爬虫常常面临…

vscode中eslint插件不生效问题

case: 最近使用webpack打包js资源中使用到了VS Code中的eslint插件辅助eslint plugin对代码进行校验&#xff0c;在.eslintrc.js文件中以及webpack.config.js配置好后&#xff0c; 在控制台运行npx webpack可以读取到eslint plugin的检测结果 一、eslint插件读取项目中.eslint…

【C++从练气到飞升】01---C++入门

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 推荐 前言 什么是C C的发展史 &#x1f4cb;命名空间 命名空间定义 命名空间使用 命名空间的嵌套 std命名空间的使用 &#…

MySQL 使用 pt-archiver 删除数据

文章目录 前言1. 环境准备1.1 模拟造数1.2 工具安装 2. 删除数据2.1 批次删除表2.2 原理解析2.3 批处理思路 后记 前言 在线核心业务都会有日志表&#xff0c;随着业务持续运行&#xff0c;日志表每天都在增大&#xff0c;最后超过阈值触发空间使用率告警。DBA 处理空间告警时…

javascript实现的星座查询

今天在这个网站http://xzxys.wiicha.com/看到查询星座幸运色的效果&#xff0c;想研究一下代码&#xff0c;结果右键禁用。后来参考了一下别人的代码&#xff0c;琢磨着先实现了一下星座查询的功能&#xff0c;输入月份和日期四位数后&#xff0c;可以查询属于哪个星座&#xf…

EdgeX Foundry 安装部署

文章目录 一、概述1.官方文档2.Docker Compose 生成器3.创建 docker-compose 文件 二、安装准备1. 克隆服务器2.安装 Docker3.安装 docker-compose 三、非安全模式部署1.docker-comepse2.启动 EdgeX Foundry3.访问 UI3.1. consul3.2. EdgeX Console EdgeX Foundry # EdgeX Fou…

本科毕业设计:计及并网依赖性的分布式能源系统优化研究。(C语言实现)(内包含NSGA II优化算法)(二)

目录 前言 1、sofc函数 2、光伏板函数 3、集热场函数 4、sofc电跟随策略函数 5、二分法找sofc运行点函数 6、目标函数&#xff1a;成本 7、目标函数&#xff1a;二氧化碳排放量 8、目标函数&#xff1a;并网依赖性 前言 本篇文章介绍的是我的毕业设计&#xff0c;我将C…

DevStack 基于 Ubuntu 部署 OpenStack

Devstack 简介 DevStack 是一系列可扩展的脚本&#xff0c;用于基于 git master 的最新版本快速调出完整的 OpenStack 环境。devstack 以交互方式用作开发环境和 OpenStack 项目大部分功能测试的基础。 devstack 透过执行 stack.sh 脚本&#xff0c;搭建 openstack 环境&…

基于ARIMA+SARIMA的航空公司 RPM 时间序列预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【轻快图片管理系统】- 系统概述与内置功能介绍

在线体验 如果你觉得项目不错&#xff0c;还望动动你的手指给点点star&#xff0c;让更多人看到优秀的项目&#xff01;&#xff01;&#xff01; 为了便于大家在线体验&#xff0c;本系统提供了演示地址&#xff0c;可以通过下面的演示地址和账号进行登录体验系统功能。 演示…

【自然语言处理】BitNet b1.58:1bit LLM时代

论文地址&#xff1a;https://arxiv.org/pdf/2402.17764.pdf 相关博客 【自然语言处理】BitNet b1.58&#xff1a;1bit LLM时代 【自然语言处理】【长文本处理】RMT&#xff1a;能处理长度超过一百万token的Transformer 【自然语言处理】【大模型】MPT模型结构源码解析(单机版)…

Centos7 排查流量异常进程

首先可以根据漏洞捕获的相关信息的目的端口&#xff0c;查看下监听详情&#xff0c;如&#xff1a;netstat -lnp|grep 9015 执行命令输出如下所示内容&#xff1a; 最终可排查得知&#xff1a; 也可以通过以下方式进行详细排查&#xff1a; 1、基本知识 1.1、iftop介绍 一般…