【周赛】第382场周赛

🔥博客主页: A_SHOWY
🎥系列专栏:力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_ 

从这一场(第382场周赛)周赛开始记录,目标是尽快达到准确快速AC前三道题,每场比赛稳定在前1000名,故总结每场比赛的前三个题目。

【1】按键变更的次数

100215. 按键变更的次数icon-default.png?t=N7T8https://leetcode.cn/problems/number-of-changing-keys/

这个题目过于简单,追求速度,掌握大小写之间的快速转换即可 

  1. toupper 转大写字母,tolower 转小写字母 
class Solution {
public:int countKeyChanges(string s) {int ans = 0;for(int i = 1; i < s.size(); i++){if(s[i] != toupper(s[i - 1]) && s[i] != (s[i -1]) &&s[i] != tolower(s[i - 1])) ans ++;}return ans;}
};

 【2】子集中元素的最大量

100206. 子集中元素的最大数量icon-default.png?t=N7T8https://leetcode.cn/problems/find-the-maximum-number-of-elements-in-subset/

这道题目花费了我大量的时间,可以说踩了很多坑,有很多值得注意的细节,主要还是模拟,但是我模拟的思路错了,我是从两边往中间模拟,用了三层for把自己都绕晕了,羊佬的思路拿来借鉴后发现还有一个很大的坑,这个哈希表如果调用一个没有的话,会重新生成一个map,且这个map里只有这个数值。还要考虑这个数组里面有1的情况。

  1. 先用哈希表记录一下每个数值的个数,然后第一层循环,让每个值都当一遍最中间的数, 内层循环中我一直习惯用for,但是这里用while更合适,让不合适的时候break更方便,初始值是1,先看看x是不是完全平方数,如果是,再看他的平方根的哈希值是不是大于2,如果大于2,才能加这一对。
  2. 想到上面那个方法的关键在于观察这一列数,从中间开始,往旁边都是平方。
  3. 注意当这个数组中如果有1,那么1的任意次方都是1,所以有奇数个1就是直接返回个数,偶数个就返回个数减去一个。
  4. 在算这个哈希表中是1的数的时候,假如一个map中没有1,那么会重新生成一个map,且这个map里只有这个数值1,所以在调用之前要先find,后面调用countMap的时候同理。
class Solution {
public:int maximumLength(vector<int>& nums) {unordered_map<int,int> countMap;
//统计元素出现次数for(int num : nums){countMap[num] ++;}int ans =0;if(countMap.find(1) != countMap.end()) ans = max(1,countMap[1] % 2 ? countMap[1] : countMap[1] - 1);for(auto& entry : countMap){int x = entry.first;if(x == 1) continue;int cur  = 1;while(true){int v = (int)sqrt(x);if(v * v != x || countMap.find(v) == countMap.end()|| countMap[v] < 2 ) break;x = v;cur += 2;}ans = max(ans,cur);}return ans;}
};

 【3】Alice和Bob玩鲜花游戏

100195. Alice 和 Bob 玩鲜花游戏icon-default.png?t=N7T8https://leetcode.cn/problems/alice-and-bob-playing-flower-game/

个人感觉这个题非常简单,不配作为第三题,其核心就是这两个数只要加起来是奇数,那么最后一定是Alice拿到最后一个,直接模拟很快能解出来。

  1. 如果m是偶数,那么每个n对应的都是m/2个对应的
  2. 如果m是奇数,那么分类,n是奇数和n是偶数,把每种情况里面取奇数的和取偶数的配对数加起来就行。注意个返回值。 
class Solution {
public:long long flowerGame(int n, int m) {if(m % 2 == 0) return ((long long)m * n) / 2;else{if(n % 2) {return ((n + 1) / 2) *((m - 1) /2) + ((n -1)/2) * ((m + 1) /2);}else {return (n / 2) *((m + 1) /2) +(n / 2) *((m - 1) /2) ;}} }
};

 

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

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

相关文章

Windows XP x86 sp3 安装 Google Chrome 49.0.2623.112 (正式版本) (32 位)

1 下载地址&#xff1b; https://dl.google.com/release2/h8vnfiy7pvn3lxy9ehfsaxlrnnukgff8jnodrp0y21vrlem4x71lor5zzkliyh8fv3sryayu5uk5zi20ep7dwfnwr143dzxqijv/49.0.2623.112_chrome_installer.exe 2 直接 双击 49.0.2623.112_chrome_installer.exe 安装&#xff1b; 3 …

第二百九十二回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择图片和视频文件"相关的内容&#xff0c;本章回中将介绍如何混合选择多个图片和视频文件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1…

BGP:04 fake-as

使用 fake-as 可以将本地真实的 AS 编号隐藏&#xff0c;其他 AS 内的对等体在指定本端对等体所在的AS 编号时&#xff0c;应该设置成这个伪AS 编号。 这是实验拓扑&#xff0c;IBGP EBGP 邻居都使用物理接口来建立 基本配置&#xff1a; R1: sys sysname R1 int loo0 ip add…

带libc源码gdb动态调试(导入glibc库使得可执行文件动态调试时可看见调用库函数源码)

文章目录 查看源码是否编译时有-g调试信息和符号表在 gdb 中加载 debug 文件/符号表将 debug 文件放入 ".debug" 文件夹通过 gdb 命令 set debug-file-directory directories GCC的gcc和g区别指定gcc/g&#xff0c;glibc的版本进行编译指定gcc/g的版本指定glibc的和l…

小电影网站上线之nginx配置不带www域名301重定向到www域名+接入腾讯云安全防护edgeone

背景 写了个电影网站&#xff08;纯粹搞着玩的&#xff09;&#xff0c;准备买个域名然后上线&#xff0c;但是看日志经常被一些恶意IP进行攻击&#xff0c;这里准备接入腾讯云的安全以及加速产品edgeone&#xff0c;记录下当时的步骤。 一、nginx配置重定向以及日志格式 ng…

【数据分析】Excel中使用VBA进行宏编程

目录 0 准备工作1 VBA简介1.1 Excel VBA应用程序的构成1.2 事件驱动1.3 宏1.3.1 创建宏1.3.2 宏安全 2 VBA基础2.1 注释2.2 数据类型2.2.1 基本数据类型2.2.2 枚举类型2.2.3 用户自定义数据类型 2.2 变量2.3 常量2.4 运算符2.5 程序结构2.6 过程2.7 函数 3 Excel应用程序开发流…

【Apollo CyberRT】源码分析之 “component” 模块

代码位置 apollo/cyber/component 功能 在自动驾驶系统中&#xff0c;模块&#xff08;如感知、定位、控制系统等&#xff09;在 Cyber ​​RT 下以 Component 的形式存在。不同 Component 之间通过 Channel 进行通信。Component 概念不仅解耦了模块&#xff0c;还为将模块拆…

实现图片分块化(使用einops库)

背景介绍 在进行机器学习的模型训练任务的时候&#xff0c;针对图像数据集的处理&#xff0c;常常会对数据集进行分块的操作&#xff1b;具体到模型结构中&#xff0c;在ViT框架中&#xff0c;把每一个图像看作是一个的patch&#xff0c;每一个patch可以当作是一个NLP领域的一…

mac上搭建hbase伪集群

1. 前言 之前我们已经搭建过了 hbase单点环境&#xff0c;(单机版搭建参见&#xff1a; https://blog.csdn.net/a15835774652/article/details/135569456) 但是 为了模拟一把集群环境 我们还是尝试搭建一个伪集群版 2. 环境准备 jdk环境 1.8hdfs &#xff08;hadoop环境 可选…

Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2)

Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心&#xff0c;Kotlin&#xff08;2&#xff09; 在 Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心&#xff0c;Kotlin-CSDN博客 …

程序员开发要素—Java篇

这是个预留板块&#xff0c;打算写一写作为程序员的基本要素和技术。主要包含基本工具&#xff0c;基础知识&#xff0c;基础插件应用&#xff0c;环境搭建等内容。 具体内容后续补充完整&#xff0c;Ps&#xff1a;请假申请已提交https://blog.csdn.net/qq_18237141/article/…

跟着小德学C++之TOTP

嗨&#xff0c;大家好&#xff0c;我是出生在达纳苏斯的一名德鲁伊&#xff0c;我是要立志成为海贼王&#xff0c;啊不&#xff0c;是立志成为科学家的德鲁伊。最近&#xff0c;我发现我们所处的世界是一个虚拟的世界&#xff0c;并由此开始&#xff0c;我展开了对我们这个世界…

网络安全B模块(笔记详解)- 越权与下载

1.使用渗透机场景kali中工具扫描服务器场景,将web端口号当作Flag提交; 2.使用渗透机场景windows7访问服务器场景mingling.php,将页面中的Flag提交; 3.使用渗透机场景windows7访问服务器场景mingling.php,分析页面内容,查看系统配置信息,并将产品id的最后5位数作为Flag提…

NLP自然语言处理的发展:从初创到人工智能的里程碑

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;人工智能领域中备受关注的重要分支之一。它使得计算机能够理解、解释和使用人类语言。随着技术的不断发展&#xff0c;NLP经历了从初创时期到深度学习时代的巨大演变&#xff0c;推动了互联网产…

链表相加---链表OJ---两数之和

https://leetcode.cn/problems/add-two-numbers/?envType=study-plan-v2&envId=top-100-liked 对于本题,可以选择用数组实现,那样比较简单;我们这里就用纯链表实现。 纯链表实现有许多细节,比如链表长度不一样,进位,尾结点如果是0我们就要删除尾结点。 首先…

线程调度(Java Android)

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览2.1、线程的属性 三、…

继承基本介绍

Java提供了关键字extends&#xff0c;可以让一个类和另一个类建立父子关系。 public class a extends b{ //b为父类&#xff0c;&#xff0c;a为子类} 继承的特点&#xff1a;子类可以继承父类的非私有成员&#xff1b;子类的对象由子类、父类共同完成 使用继承可以减少重复…

【正点原子STM32】STM32基础知识(F1F4F7H7 STM32系统框架、寻址范围、存储器映射的存储器功能划分、寄存器映射)

一、STM32系统框架 1.1、Cortex M内核 & 芯片1.2、F1系统架构1.3、F4系统架构1.4、F7系统架构1.5、H7系统架构 二、STM32的寻址范围&#xff1f; 三、存储器映射 存储器功能划分&#xff08;F1为例&#xff09;STM32F1存储器映射图 四、寄存器映射 寄存器基础知识STM3…

python-自动化篇-办公-文件-加解密

解说 要使⽤Python进⾏⽂件的加密和解密&#xff0c;可以使⽤第三⽅加密库&#xff0c;如cryptography或pycryptodome。 ⼀个基本的⽰例&#xff0c;演⽰如何使⽤cryptography库对⽂件进⾏加密和解密&#xff1a; 安装cryptography库&#xff1a; pip install cryptography⽂…

【Vue3 + Vite】Vite搭建 项目解构 Vue快速学习 第一期

文章目录 Vue3介绍Vue3通过Vite实现工程化&#xff1a;一、Vite创建Vue3工程化项目1.1 ViteVue3项目的创建、启动、停止1.2 ViteVue3项目的目录结构 二、ViteVue3 项目组件(SFC入门)2.1 什么是VUE的组件 ?2.2 什么是.vue文件 ?2.3 工程化vue项目如何组织这些组件? 三、ViteV…