力扣376周赛

力扣第376场周赛

找出缺失和重复的数字

map模拟

class Solution {
public:vector<int> findMissingAndRepeatedValues(vector<vector<int>>& grid) {int n = grid.size() , m = grid[0].size();map<int,int>mi;for(int i = 0 ; i < n ; i ++){for(int j = 0 ; j < m ; j ++){mi[grid[i][j]] ++;}}vector<int> ans;for(int i = 1 ; i <= n * n ; i ++){if(mi[i] > 1)ans.push_back(i);}for(int i = 1 ; i <= n * n ; i ++){if(mi[i] == 0)ans.push_back(i);}return ans;}
};

划分数组并满足最大差限制

排序后直接模拟

class Solution {
public:vector<vector<int>> divideArray(vector<int>& nums, int k) {vector<vector<int> >ans;vector<vector<int> >res;int n = nums.size();ranges::sort(nums);bool f = true;if(n % 3 != 0)f = false;for(int i = 0 ; i + 2 < n ; i += 3){int a = nums[i] , c = nums[i + 2];if(c - a > k)f = false;ans.push_back({a , nums[i + 1] , c});}if(f == false)return res;return ans;}
};

使数组成为等数数组的最小代价

找到中位数再二分最近的回文

//代码来自TsReaper
bool inited = false;
vector<int> good;void init() {if (inited) return;inited = true;for (int i = 1; i < 10; i++) good.push_back(i);// 首先枚举回文数一半的长度 len,以及这一半数值的上限 pfor (int p = 10, len = 1; p <= 1e4; p *= 10, len++) {// 枚举回文数的一半具体是什么数for (int i = 1; i < p; i++) if (i % 10 != 0) {// 把每个数位拆开来vector<int> vec;for (int x = i, j = len; j > 0; x /= 10, j--) vec.push_back(x % 10);// 回文数长度是偶数的情况int v = 0;for (int j = 0; j < len; j++) v = v * 10 + vec[j];for (int j = len - 1; j >= 0; j--) v = v * 10 + vec[j];good.push_back(v);// 回文数长度是奇数的情况,需要枚举中间那一位是什么数for (int k = 0; k < 10; k++) {v = 0;for (int j = 0; j < len; j++) v = v * 10 + vec[j];v = v * 10 + k;for (int j = len - 1; j >= 0; j--) v = v * 10 + vec[j];good.push_back(v);}}}sort(good.begin(), good.end());
}class Solution {
public:long long minimumCost(vector<int>& nums) {init();int n = nums.size();sort(nums.begin(), nums.end());// 计算所有数都变成 x 的代价auto get = [&](int x){long long res = 0;for(int i = 0 ; i < n ; i ++){res += abs(nums[i] - x);}return res;};long long ans = 1e18;int idx = lower_bound(good.begin(), good.end(), nums[n / 2]) - good.begin();ans = min(ans, get(good[idx]));if (idx - 1 >= 0) ans = min(ans, get(good[idx - 1]));return ans;}
};

执行操作使频率分数最大

滑动窗口统计化成中位数的最小步骤

//代码来自TsReaper
class Solution {
public:int maxFrequencyScore(vector<int>& nums, long long k) {int n = nums.size();nums.push_back(0);sort(nums.begin(), nums.end());// 预处理前缀和long long f[n + 1];f[0] = 0;for (int i = 1; i <= n; i++) f[i] = f[i - 1] + nums[i];// 求把 nums[L] 到 nums[R] 全部变成中位数的最小代价auto gao = [&](int L, int R) {// 找到中位数的下标int mid = (L + R) / 2;long long l = 1LL * nums[mid] * (mid - L + 1) - (f[mid] - f[L - 1]);long long r =  ((f[R] - f[mid]) - 1LL * nums[mid] * (R - mid));return l + r;};int ans = 0;// 滑动窗口//i右端点j左端点for (int i = 1, j = 1; i <= n; i++) {while (j <= i && gao(j, i) > k) j++;ans = max(ans, i - j + 1);}return ans;}
};

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

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

相关文章

网络 / day02 作业

1. TCP和UDP通信模型 1.1 TCP server #include <myhead.h>#define PORT 9999 #define IP "192.168.250.100"int main(int argc, const char *argv[]) {//1. create socketint sfd -1;if( (sfd socket(AF_INET, SOCK_STREAM, 0 ))-1 ){perror("socke…

【华为OD题库-091】选举拉票-java

题目 现在你要竞选一个县的县长。你去对每一个选民进行了调查。你已经知道每一个人要选的人是谁&#xff0c;以及要花多少钱才能让这个人选你。现在你想要花最少的钱使得你当上县长。你当选的条件是你的票数比任何一个其它候选人的多(严格的多&#xff0c;不能和他们中最多的相…

使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具&#xff0c;性能测试能使用的工具非常多&#xff0c;选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验&#xff0c;也算略有小成&#xff0c;任何性能测试&#xff08;如压力测试、负载测试、疲劳强度测试等&#…

华为OD机试 - 文件缓存系统(Java JS Python)

题目描述 请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。 文件缓存系统有两种操作: 存储文件(put)读取文件(get)操作命令为: put fileName fileSizeget fileName存储文件是把文件放入文件缓存系统中; 读取文件是从文件缓存系统中访问已…

性能测试之Artillery(示例及指标)

官方文档&#xff1a;https://www.artillery.io/docs/get-started/first-test PS:文档挺详细&#xff0c;教程比较全 示例 config:http:extendedMetrics: truetarget: http://127.0.0.1:8005phases:- duration: 10 # 持续时间arrivalRate: 10 # 每秒创建10个用户rampTo: 100 …

SwitchHosts - 管理、切换多个 hosts 方案的工具

一、hosts文件 简单的说&#xff0c;hosts文件是用于本地dns服务的&#xff0c;采用ip 域名的格式写在一个文本文件当中&#xff0c;Hosts是一个没有扩展名的系统文件&#xff0c;可以用记事本等工具打开&#xff0c;其作用就是将一些常用的网址域名与其对应的IP地址建立一个关…

Tor网络原理详解

引入 匿名通信是一种通过采用数据转发、内容加密、流量混淆等措施来隐藏通信内容及关系的隐私保护技术。为了提高通信的匿名性&#xff0c;这些数据转发链路通常由多跳加密代理服务节点构成&#xff0c;而所有这些节点即构成了匿名通信系统&#xff08;或称匿名通信网络&#…

Linux的双网口(内网+外网)的IP报文转发

一、背景&#xff1a; PC1的主机与PC2的主机不是同一个网段&#xff0c;中间经过一个双网口Linux设备中转&#xff0c;以实现PC1和PC2的数据报文交互。 二、实物&#xff1a; PC1主机的IP地址&#xff1a;192.178.111.111 PC2主机的IP地址&#xff1a; 192.168.130.32 …

在排序数组中查找元素的第一个和最后一个位置(Java详解)

一、题目描述 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示…

Electron 安装不成功

1、在项目根目录下新建.npmrc文件 在文件中写入 ELECTRON_MIRRORhttp://npm.taobao.org/mirrors/electron/2、删除node_modules&#xff0c;重新执行安装命令

OpenTiny Vue 组件库3.12.0 发布:文档大优化!增加水印和二维码两个新组件

非常高兴跟大家宣布&#xff0c;2023年11月30日&#xff0c;OpenTiny Vue 发布了 v3.12.0 &#x1f389;。 OpenTiny 每次大版本发布&#xff0c;都会给大家带来一些实用的新特性&#xff0c;10.24 我们发布了 v3.11.0 版本&#xff0c;增加了富文本、ColorPicker 等4个新组件…

.QT信号槽,如何同步异步?

同步 --- 直连 DirectConnection&#xff08;直连方式&#xff09; 异步 --- 等待连 QueuedConnection&#xff08;排队方式&#xff09; 通常使用的connect&#xff0c;只用了四个参数&#xff0c;实际上最后一个参数使用的是Qt::AutoConnection类型。但如果信号和槽函数是在…

linux 内核同步互斥技术之读写自旋锁

读写自旋锁 读写自旋锁&#xff08;通常简称读写锁&#xff09;是对自旋锁的改进&#xff0c;区分读者和写者&#xff0c;允许多个读者同时进入临界区&#xff0c;读者和写者互斥&#xff0c;写者和写者互斥。 如果读者占有读锁&#xff0c;写者申请写锁的时候自旋等待。如果写…

数据库通用语言DQL-MySQL及语法练习 建议码住,多看几遍!!!!!!!

DQL&#xff08;数据查询语言&#xff09; 语法&#xff1a; SELECT字段列表 FROM表名字段 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后的条件列表 ORDER BY排序字段列表 LIMIT分页参数基础查询 查询多个字段&#xff1a; SELECT 字段1, 字段2, 字段3, ... FROM 表名;…

linux下查看进程资源ulimit

ulimit介绍与使用 ulimit命令用于查看和修改进程的资源限制。下面是ulimit命令的使用方法&#xff1a; 查看当前资源限制&#xff1a; ulimit -a 这将显示当前进程的所有资源限制&#xff0c;包括软限制和硬限制。查看或设置单个资源限制&#xff1a; ulimit -<option> …

喜报丨迪捷软件入选2023年浙江省信息技术应用创新典型案例

12月6日&#xff0c;浙江省经信厅公示了2023年浙江省信息技术应用创新典型案例入围名单。本次案例征集活动&#xff0c;由浙江省经信厅、省密码管理局、工业和信息化部网络安全产业发展中心联合组织开展&#xff0c;共遴选出24个优秀典型解决方案&#xff0c;迪捷软件“基于全数…

安装鸿蒙开发者工具DevEco Studio

1.进入官网下载工具 https://developer.harmonyos.com/cn/develop/deveco-studio/ 选择您电脑对应的系统下载即可 2.安装 很简单直接点击“next”,此处不做赘述 3.配置环境 安装完成后&#xff0c;打开DevEco Studio 会提示配置环境。安装node.js和ohpm 如果不小心关了&a…

DevEco Studio无法识别本地模拟器设备的解决方法

遇到了一个问题&#xff0c;之前测试无误的本地模拟器&#xff0c;运行后设备栏中无法识别了。 此时保持模拟器处于开启状态&#xff0c;关闭DevEco Studio窗口重新启动后&#xff0c;发现重新识别设备了。

Android手机使用Termux终端模拟器

Termux 是 Android 平台上的一个终端模拟器&#xff0c;可以在 Android 手机上模拟 Linux 环境。它提供命令行界面&#xff0c;并且提供了功能健全的包管理工具&#xff08;pkg&#xff09;。另外就是 Termux 不需要 root 权限&#xff0c;安装后默认产生一个用户&#xff0c;可…

【CASS精品教程】cass11提示“请不要在虚拟机中运行此程序”的解决办法

文章目录 一、问题提示二、解决办法一、问题提示 按照正常安装教程安装好南方测绘cass 11之后,打开的时候可能会有以下提示:请不要在虚拟机中运行此程序,如下图所示: 遇到问题,咱们就想办法解决问题,下面将自己尝试的方法及最终解决情况跟大家说一下,供参考。 二、解决…