【周赛】第382场周赛

news2024/11/20 18:21:39

🔥博客主页: 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.coloradmin.cn/o/1416923.html

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

相关文章

【服务器GPT+MJ+GPTs】创建部署GPT+MJ+GPTs程序网站

目录 🌺【前言】 🌺【准备】 🌺【宝塔搭建GPT+MJ+GPTs】 🌼1. 给服务器添加端口 🌼2. 安装宝塔 🌼3. 安装Docker 🌼4. 安装ChatGPT程序 🌼5. 程序更新 🌼6. 修改端口 | 密码 🌼7. 绑定域名+申请SSL证书 🌺【前言】 相信大家都对openai的产品ch…

【2024】Docker部署Redis

1.说明&#xff1a; 因为容器实例的运行是有生命周期的&#xff0c;一些redis的备份、日志和配置文件什么的最好还是放在服务器本地。这样当容器删除时&#xff0c;我们也可以保留备份和日志文件。所以先在本地服务器安装redis并配置文件设置。下面是安装步骤: 2.安装步骤 1…

Unity 命令模式(实例详解)

文章目录 示例1&#xff1a;基础命令类结构示例2&#xff1a;旋转对象命令示例3&#xff1a;增加道具命令示例4&#xff1a;切换场景命令示例5&#xff1a;播放音效命令 在Unity中使用命令模式&#xff08;Command Pattern&#xff09;是一种常见的设计模式&#xff0c;用于实现…

LeetCode344反转字符串(java实现)

今天我们来分享的题目是leetcode344反转字符串。题目描述如下&#xff1a; 我们观察题目发现&#xff0c;题目要求使用O(1)的空间解决这一问题。那么我们就不能进行使用开辟新的数组进行反转了。 解题思路&#xff1a;那么该题的我得思路是使用双指针的方法进行题解&#xff0…

深度强化学习(王树森)笔记01

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据1

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;升级Notice类获得背包基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;3be017de38c50653b…

【算法专题】二分查找(进阶)

&#x1f4d1;前言 本文主要是二分查找&#xff08;进阶&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日…

【代码随想录】LC 242. 有效的字母异位词

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 242. 有效的字母异位词 2、题目描述 二、解题…

【c++】类和对象 - 类的引入和定义

1.类的引入 C语言结构体中只能定义变量&#xff0c;在C中&#xff0c;结构体内不仅可以定义变量&#xff0c;也可以定义函数。比如&#xff1a;之前在数据结构初阶中&#xff0c;用C语言方式实现的栈&#xff0c;结构体中只能定义变量&#xff1b;现在以C方式实现&#xff0c;…

java日志框架总结(三 、Log4j日志框架)

一、简介 Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目&#xff0c; 为Java提供了日志记录功能。能够让程序员非常方便的记录日志&#xff0c; 并且提供了多种适配方式&#xff0c;能满足各种需求。 使用Log4j 只需要导入一个…

linux0.11源码看信号的处理流程

序 日常Linux写代码或者使用中难免会使用siganl&#xff0c;包括我们使用ctrl-c结束程序&#xff0c;使用kill命令发送信号&#xff0c;或者说程序core后操作系统向程序发送的信号&#xff0c;以及我们程序内部自定义的信号处理。 我们选择linux0.11一个原因是它比较简单&…

基于springboot宠物领养系统

摘要 随着社会的不断发展和人们生活水平的提高&#xff0c;宠物在家庭中的地位逐渐上升&#xff0c;宠物领养成为一种流行的社会现象。为了更好地管理和促进宠物领养的过程&#xff0c;本文基于Spring Boot框架设计和实现了一套宠物领养系统。该系统以用户友好的界面为特点&…

游戏开发丨基于Tkinter的扫雷小游戏

文章目录 写在前面扫雷小游戏需求分析程序设计程序分析运行结果系列文章写在后面 写在前面 本期内容 基于tkinter的扫雷小游戏 所需环境 pythonpycharm或anaconda 下载地址 https://download.csdn.net/download/m0_68111267/88790713 扫雷小游戏 扫雷是一款广为人知的单…

【SpringSpringBoot】概述

Spring&SpringBoot专题 【注】&#xff1a; 本专题围绕框架核心概念展开&#xff0c;渐进式深入总结学习、面试、开发经验&#xff0c;集中整理便于回顾 持续补充与施工中~~~~ 1.发展史 2.基本架构 Spring框架的基本架构是一个分层架构&#xff0c;包括多个模块&#x…

漏洞原理反射型XSS漏洞

漏洞原理XSS漏洞 1 反射型XSS php基础链接 Web渗透编程语言基础-CSDN博客 正常思维 http://127.0.0.1/websec/day01/xss_reflect.php?name%E6%88%91%E6%98%AF%E8%B0%81 http://127.0.0.1/14_WEBSEC/DAY01/xss_reflect.php?name我是谁 黑客思维 http://127.0.0.1/websec…

【Python基础017】Python中如何进行异常判断(try...except...的使用)

1、异常判断 在python程序在运行的过程中可能会出现很多错误&#xff0c;比如语法、未定义变量、分母为0等错误&#xff1b;而我们通常使用try...except...语句来处理程序在运行中出现的这些异常&#xff0c;并显示出现错误的原因。此外&#xff0c;我们还可以用try...finally.…

Java多线程基础-18:线程安全的集合类与ConcurrentHashMap

Java标准库提供了很多集合类&#xff0c;但有一些集合类是线程不安全的&#xff0c;也就是说&#xff0c;在多线程环境下可能会出问题的。常用的ArrayList&#xff0c;LinkedList&#xff0c;HashMap&#xff0c;PriorityQueue等都是线程不安全的&#xff08;Vector, Stack, Ha…

AI技术大揭秘:探索人工智能的核心领域与必备技能

随着人工智能的不断进步&#xff0c;AI技术在各个领域都发挥着越来越关键的作用。想要成为AI领域的从业者&#xff0c;不仅需要对整体格局有清晰认识&#xff0c;更要掌握关键技术和必备技能。本文将深入解析AI的核心技术领域&#xff0c;以及在这个前沿领域里需要掌握的技能。…

java 基础学习1

目录 一.注释 二.关键字 三.字面量 四.变量和标识符 五.键盘录入 六.运算符 一.注释 1.单行注释&#xff1a;//注释信息 2.多行注释&#xff1a;/* 注释信息*/ 3.文档注释&#xff1a;/** 注释信息*/ 注:文档注释暂时用不上 二.关键字 关键字: 被Java赋予了特定…

任意一个函数都可以写成一个奇函数与一个偶函数之和的形式

定义 张宇30讲明确指出 f(x)f(-x)必定是偶函数 f(x)-f(-x)必定是奇函数 前提&#xff1a;定义域关于原点对称 由上述结论得到&#xff1a;任意一个函数都可以写成一个奇函数与一个偶函数之和的形式&#xff0c;即使该函数是非奇非偶的。 f(x) 1 2 \frac 12 21​[f(x) f(-x)]…