【LeetCode周赛】第 395 场周赛

news2024/12/24 2:16:41

目录

  • 3131. 找出与数组相加的整数 I 简单
  • 3132. 找出与数组相加的整数 II 中等
  • 3133. 数组最后一个元素的最小值 中等
  • 3134. 找出唯一性数组的中位数 困难

3131. 找出与数组相加的整数 I 简单

3131. 找出与数组相加的整数 I

分析:
将两个数组中最小的两个值相减即可。

代码:
C++

class Solution {
public:
    int addedInteger(vector<int>& nums1, vector<int>& nums2) {
        ranges::sort(nums1);
        ranges::sort(nums2);
        return nums2[0] - nums1[0];
    }
};

Python

class Solution:
    def addedInteger(self, nums1: List[int], nums2: List[int]) -> int:
        return min(nums2) - min(nums1)


3132. 找出与数组相加的整数 II 中等

3132. 找出与数组相加的整数 II

分析:
枚举去除掉两个数之后,数组中最小的值,得到最小的差距。
去掉两个值,只需要考虑去掉最小的、去掉最小的和第二小、以及最小的仍然保留三种情况,因此对这三种情况进行枚举即可(不需要枚举后面的数的去除情况)。

代码:
C++
C++里面是枚举最大值,而且枚举了所有值。

class Solution {
public:
    int minimumAddedInteger(vector<int>& nums1, vector<int>& nums2) {
        ranges::sort(nums1);
        ranges::sort(nums2);
        int n = nums1.size(), m = nums2.size(), ans = 1e6+5;
        multiset<int> s;
        for(int i=n-1;i>=0;i--){
            int c = nums1[i] - nums2[m-1], cnt = 0;
            s.clear();
            for(int j=0;j<i;j++){
                s.insert(nums1[j]);
            }
            for(int j=0;j<m-1;j++){
                if(s.contains(nums2[j] + c)){
                    cnt++;
                    s.erase(s.find(nums2[j] + c));
                }
            }
            if(cnt>=m-1){
                ans = min(ans, -c);
            }
        }
        return ans;
    }
};

Python

class Solution:
    def minimumAddedInteger(self, nums1: List[int], nums2: List[int]) -> int:
        nums1.sort()
        nums2.sort()

        for i in range(2,0,-1):
            c = nums1[i] - nums2[0]
            print(c)
            count, index = 0, 0
            for j in nums1[i:]:
                if j - nums2[index] == c:
                    count += 1
                    index += 1
                if count == len(nums2):
                    return -c
        return nums2[0] - nums1[0]


3133. 数组最后一个元素的最小值 中等

3133. 数组最后一个元素的最小值

分析:
数组所有值 AND,最终结果为x,即其实值必须为x,且其他的数与 x 二进制 非 0 位必须一致。

法一:
在这里插入图片描述
在这里插入图片描述
经过样例的二进制计算,可以得到,最终即将 n-1 的二进制位填入x 的 二进制位中为0的部分,如果低位不够,则高位来补。

法二: 也可以以计数的方式来思考,分为低位和高位两部分(即x低位为0的部分和,高位),从低位开始从小到大填1,如果低位不够,则开始填高位。

代码:
C++ 法一:

class Solution {
public:
    long long minEnd(int n, int x) {
        n--;
        long long ans = x;
        int i = 0, j = 0;
        while(n >> j){
            if(((ans >> i) & 1) == 0){
                ans |= ((ans >> i & 1) | ((n >> j) & 1)) << i;
                j++;
            }
            i++;
        }
        return ans;
    }
};

C++ 法二:

class Solution {
public:
    long long minEnd(int n, int x) {
        long long ans, res = x;
        long long cnt = 1, p = 1, count = 0;
        vector<long long> s;
        s.push_back(0);
        while(x){
            if(x%2==0){
                cnt*=2;
                int l = s.size(); 
                for(int i=0;i<l;i++){
                    s.push_back(s[i] + p);
                }
            }
            x /= 2;
            p *= 2;
            count++;
        }
        ranges::sort(s);
        if(n<=s.size()) return res + s[n-1];
        else{
            res += (n+s.size()-1)/(int)s.size() - 1<<count;

        }
        return res + s[(n+s.size()-1)%s.size()];  
    }
};

Python 法一:

class Solution:
    def minEnd(self, n: int, x: int) -> int:
        n -= 1
        i, j = 0, 0
        ans = x
        while n >> j > 0:
            if ans >> i & 1 == 0:
                ans |= (((ans >> i) & 1) | ((n >> j) & 1)) << i
                j += 1
            i += 1
        return ans


3134. 找出唯一性数组的中位数 困难

3134. 找出唯一性数组的中位数

分析:
待完成。

代码:

#include<bits/stdc++>
int main(){
	return 0;
}

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

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

相关文章

你的动漫AI女友 Anime gf :自定义创建各种独特个性、语言风格的虚拟角色

一个本地且开源的 CharacterAI 替代工具 Anime gf&#xff0c;提供了一个用户友好的界面&#xff0c;允许用户在桌面上与虚拟角色互动。你可以自定义创建各种角色&#xff0c;让每个虚拟角色都有自己的独特个性和语言风格&#xff0c;可以接入OpenAI、Anthropic、Mistral和 Tog…

Faststone Capture:一触即发的效率革命【AI写作】

首先&#xff0c;这篇文章是基于笔尖AI写作进行文章创作的&#xff0c;喜欢的宝子&#xff0c;也可以去体验下&#xff0c;解放双手&#xff0c;上班直接摸鱼~ 按照惯例&#xff0c;先介绍下这款笔尖AI写作&#xff0c;宝子也可以直接下滑跳过看正文~ 笔尖Ai写作&#xff1a;…

XY_RE复现(二)

一&#xff0c;何须相思煮余年 0x55 0x8b 0xec 0x81 0xec 0xa8 0x0 0x0 0x0 0xa1 0x0 0x40 0x41 0x0 0x33 0xc5 0x89 0x45 0xfc 0x68 0x9c 0x0 0x0 0x0 0x6a 0x0 0x8d 0x85 0x60 0xff 0xff 0xff 0x50 0xe8 0x7a 0xc 0x0 0x0 0x83 0xc4…

【中级软件设计师】上午题12-软件工程(3):项目活动图、软件风险、软件评审、软件项目估算

【中级软件设计师】上午题12-软件工程&#xff08;3&#xff09; 1 软件项目估算1.1 COCOMO估算模型1.2 COCOMOⅡ模型 2 进度管理2.1 gantt甘特图2.2 pert图2.3 项目活动图2.3.1 画项目图 3 软件配置管理4 软件风险4.1 风险管理4.2 风险识别4.3 风险预测4.4 风险评估4.5 风险控…

大模型(LLM)调用API论文研究合集

1、API-BLEND: A Comprehensive Corpora for Training and Benchmarking API LLMs 中文标题&#xff1a;API-BLEND: 一个用于训练和评测 API 语言模型的全面语料库 简介&#xff1a;随着大型语言模型(LLM)的发展,它们需要能够有效地利用各种工具和应用程序接口(API)来完成复杂…

GNU Radio之OFDM Channel Estimation底层C++实现

文章目录 前言一、 OFDM Channel Estimation 模块简介二、C 具体实现1、初始化和配置参数2、forecast 函数3、计算载波偏移量4、提取信道响应5、核心的数据处理任务 前言 OFDM Channel Estimation 模块的功能是根据前导码&#xff08;同步字&#xff09;估计 OFDM 的信道和粗略…

Java:SpringBoot如何优化启动速度

一、yml中设置懒加载 spring:main:lazy-initialization: true 二、SpringBoot启动类中添加注解 Indexed &#xff08;Spring5才有该注解&#xff09; Indexed EnableAsync RestController SpringBootApplication(exclude {WxMaAutoConfiguration.class}) EnableTransactionM…

web服务的部署及高级优化

搭建web服务器 1.1、配置主机IP以及软件仓库搭建 [rootserver129 ~]# vmset.sh 100 //主机IP配置为172.25.254.100 1.2、查看搭建web服务器所需的软件包 [rootserver100 ~]# dnf search nginx 名称 精准匹配&#xff1a;nginx nginx.x86_64 : A high performance web serve…

31.基础乐理-首调与固定调

首调与固定调的概念&#xff1a; 首调 与 固定调 这两个词都是针对 唱名 来说的&#xff0c;针对唱名1234567 来说的&#xff0c;和别的没什么关系&#xff0c;这两个概念是唱名的两种不同表达方式 首调&#xff1a;虽然各个大调实际使用的按键、使用的音名都是不一样的&#x…

【4103】基于小程序实现的老年人健康管理平台

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

学习C语言的指针

有一阵没更新了&#xff0c;因为最近比较繁忙&#xff0c;所以更新比较慢&#xff0c;还在慢慢学习 话不多说&#xff0c;开始今天的内容&#xff0c;聊一聊C语言指针。 很多小伙伴可能会被指针这个名字吓到&#xff0c;觉得很难&#xff0c;实际上确实有点难&#xff0c;但是…

算力云平台

先预热下 目标&#xff1a; 算力互联&#xff0c;随需随取&#xff1b;让算力化零为整&#xff0c;化整为零 场景&#xff1a; 1. 个人pc改造&#xff0c;个人算力出租&#xff0c;类似之前的jiluyou模式 2. 服务器中间商准系统集成&#xff0c;目前了解到挖矿不好弄了以后…

MVC架构简述

MVC简介 MVC 是一种非常常见且常用的分层架构&#xff0c;主要包括&#xff1b;M - mode 对象层&#xff0c;封装到 domain 里。V - view 展示层&#xff0c;但因为目前都是前后端分离的项目&#xff0c;几乎不会在后端项目里写 JSP 文件了。C - Controller 控制层&#xff0c…

qt安装历史版本5.15.2

0 背景 因为需要&#xff0c;所以需要安装qt5的最后一个版本qt5.15.2&#xff0c;但是下载qt安装器后&#xff0c;发现没有想要的版本。后面才发现&#xff0c;可以筛选历史版本进行安装。 1 解决 1&#xff0c;打开qt安装程序&#xff0c;勾选Archive后&#xff0c;点击筛选…

【简洁易学】TypeScript 学习笔记

文章目录 TypeScript学习笔记一、TS简介1. 学习前提2. TypeScript是什么&#xff1f;3. TypeScript增加了什么&#xff1f; 二、TS开发环境搭建1. 下载、安装Node.js2. npm安装TypeScript3. 创建一个TS文件&#xff0c;使用tsc对TS文件进行编译 三、TS的类型1. 类型声明2. 类型…

技术不爱听:可视化大屏难点不在于制作过程,而是做成什么样

制作可视化大屏的是一个技术活&#xff0c;需要掌握一定的前端技术和数据可视化技术&#xff0c;例如HTML、CSS、JavaScript、Canvas、SVG、three.js、甚至还涉及到建模、BIM、GIS等等。 但是&#xff0c;仅仅掌握这些技术并不足以制作出一个好的可视化大屏&#xff0c;更重要的…

js逆向进阶篇-某团酒店

提示!本文章仅供学习交流,严禁用于任何商业和非法用途,未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,如有侵权,可联系本文作者删除! 案例分析: 先来看看请求中有哪些参数是需要我们逆向,如下: mtgsig、fp、roh…

数据结构与算法-抽象数据类型ADT系列

以前在学习数据结构的时候做实验&#xff0c;老师要求用ADT抽象数据类型来写这些实现代码。后面也要复习数据结构&#xff0c;在这里就先放下链接。不过以前学习的时候使用的编程语言是C&#xff0c;里面会用到很多指针。现在编代码过程大多数时候都是用Java。不过思路应该还是…

C# WinForm —— 09 标签、文本框、按钮控件

标签 Label 一般显示不能编辑的文本或图像 常用属性、事件&#xff1a; 属性用途(Name)标签对象的ID&#xff0c;在代码里引用标签的时候会用到,一般以 lbl 开头Text设置或获取 界面上显示的 文本信息Image显示图像ImageList图像集&#xff0c;通常和 ListView ToolStrip Tre…

MS17-010---利用“永恒之蓝”漏洞攻击 win7主机

免责声明:本文仅做技术交流与学习.... 目录 一.前置知识 1.何为永恒之蓝&#xff1f; 2.什么是SMB协议&#xff1f; 3.SMB工作原理是什么&#xff1f; 二、实验环境 三、实验步骤 nmap扫描 msf一把梭哈 shell执行命令 远程连接 一&#xff0e; 二&#xff0e; 一.前…