【Leetcode Easy】1346. Check If N and Its Double Exist

【Leetcode Hard】1349. Maximum Students Taking Exam 原题链接 题目描述 给你一个 m * n 的矩阵 seats 表示教室中的座位分布。如果座位是坏的(不可用),就用 ‘#’ 表示;否则,用 ‘.’ 表示。 学生可以看到左侧、右侧、左上、右上这四个方向上紧邻他的学生的答卷,但是看不到直接坐在他前面或者后面的学生的答卷。请你计算并返回该考场可以容纳的一起参加考试且无法作弊的最大学生人数。 学生必须坐在状况良好的座位上。 输入:seats = [[... 阅读详情

原题链接

题目描述

判断数组中是否存在这样两个数N和M,其中N = 2 * M

我的思路

看起来很简单的一道题,但卡了挺久的……果然一段时间不学习就会生疏
一开始的想法是准备一个Set,首先将array排序,(从大到小)遍历排序后的array,判断set中是否存在当前元素的两倍的数据,如果有,返回true,如果没有,将当前数据加入array。
这个思路的问题在于他要求必须是N先加入set,在正数部分是可以的,但遍历过程中,如存在(-10, -20)满足条件,-10先加入set,等到遍历到-20时就会判断错误

改进:

多一个判断条件,遍历到M时,不仅判断set中是否存在2*M,还要判断是否存在M/2(注意这里要保证是整除的)

class Solution {
    public boolean checkIfExist(int[] arr) {
        Arrays.sort(arr);
        Set<Integer> set = new HashSet<>();
        
        for (int i = arr.length - 1; i >= 0; i--) {
            int tmp = arr[i];
            if (set.contains(tmp * 2) || ((tmp & 1) == 0 && set.contains(tmp / 2)))
                return true;
            set.add(tmp);
        }
        return false;
    }
}
设计师必看!用Figma MCP自动生成开发文档的隐藏技巧 本文为设计师揭秘利用Figma MCP协议自动生成开发文档的隐藏技巧。通过将设计稿转化为结构化数据,实现设计规范的自动化输出、版本同步与动态更新,并借助AI助手提升协作效率,彻底告别繁琐的手动标注与沟通。 阅读详情

相关推荐

JPA - @MappedSuperclass - 基类注解

目录前言代码示例 前言 @MappedSuperclass注解一般作为基类的注解,表眀该类是映射的超类,继承于它的子类实体在映射时会自动添加到子类实体的对应数据库表中,用于共同的属性代码复用和模型分离。 代码示例 BaseEntity.java import lombok.Getter; import lombok.Setter; import javax.persistence.MappedSuperclass; import java.util.Date; @Getter @Setter @Ma

Maggieq8324的博客 2065

Check If N and Its Double Exist

i need to be even when checking set.contains(i / 2). class Solution { public boolean checkIfExist(int[] arr) { if (arr == null || arr.length == 0) { return false; } ...

寂寞灵魂 321

Unity Animancer插件(一)基本使用

Animancer是什么?资源商店主页我们来通过Animancer实现一个最基本的动画播放效果。首先创建一个脚本,编写如下代码 很容易理解,就是在时播放一个指定的动画片段。接下来为角色添加、和刚刚编写的,并为字段赋值 接下来运行游戏就可以看到效果了 此时角色身上的组件可以看到当前动画的各项参数 下面我们来实现通过按键控制角色在于之间转换。新创建一个脚本。在代码中监听Y轴上的输入。然后根据监听到的数值判断角色状态,并播放相应的动画 给对应字段赋值后,启动游戏看下效果 下面来实现一个开枪效果。在默认状态下,角色

夜槿笙歌的博客 1万+

leetcode 1346. Check If N and Its Double Exist(python)

描述 Given an array arr of integers, check if there exists two integers N and M such that N is the double of M ( i.e. N = 2 * M). More formally check if there exists two indices i and j such that : i != j 0 <= i, j < arr.length arr[i] == 2 * arr[j] E

王大呀呀的博客 454

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 474

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

weixin_53637133的博客 1222

leetcode 1346. Check If N and Its Double Exist

题目 用一个set存储,然后遍历数组,看当前值的2倍和1/2是否存在,要保证是整除。 class Solution { public boolean checkIfExist(int[] arr) { HashSet<Integer> set = new HashSet<>(); for(int a:arr){ ...

xiaobailaji的博客 254

从零搭建企业级AI网关:基于LiteLLM的安全防护体系设计

本文详细介绍了如何从零搭建企业级AI网关,基于LiteLLM构建全面的安全防护体系。内容涵盖分层防御架构、敏感数据处理、合规性配置与审计追踪,以及生产环境部署策略,助力企业安全高效地集成LLM技术,确保数据安全和合规性。

qq_27496129的博客 1291

1346. Check If N and Its Double Exist

主要在于对0的处理;0*2=0 class Solution { public: bool checkIfExist(vector<int>& arr) { int zero_count = 0; map<int, int> cnt; for(int i=0;i<arr.size();i++){ ...

zeroQiaoba的博客 304

PLC控制气缸与电磁阀:从原理到实战编程详解

在工业自动化领域,很多工程师都能编写PLC程序控制电机启停,但当涉及到气缸和电磁阀的精确控制时,却常常遇到动作不协调、响应延迟甚至设备损坏的问题。这背后的关键不在于PLC编程本身,而在于对气动元件特性和控制逻辑的深入理解。 本文将从实际工程问题出发,深入解析气缸与电磁阀的工作原理、PLC控制逻辑设计、常见故障排查方法,并通过完整的梯形图实例,帮助读者掌握气动系统自动化编程的核心要点。无论你是刚接触PLC的初学者,还是希望提升气动控制技能的工程师,都能从中获得实用的技术指导。 1. 气缸与电磁阀在自动化控制中

weixin_42522374的博客 338

基于STM32L4XX、HAL库的MAX13487EESA RS485总线收发器驱动程序设计

MAX13487EESA是一款3.3V供电的RS-485/RS-422收发器,由Maxim Integrated生产。PA4 (控制引脚) ---> /RE, DE (连接在一起)具有±15kV ESD保护的驱动器输出和接收器输入。半双工RS-485/RS-422通信。工业温度范围:-40°C至+85°C。工作电压范围:3.0V至3.6V。数据速率高达250kbps。

zhusl6688的博客 688

LeetCode 1346. 检查整数及其两倍数是否存在 Check If N and Its Double Exist

Table of Contents 中文版: 英文版: My answer: 解题报告: 中文版: 给你一个整数数组arr,请你检查是否存在两个整数N 和 M,满足N是M的两倍(即,N = 2 * M)。 更正式地,检查是否存在两个下标i 和 j 满足: i != j 0 <= i, j < arr.length arr[i] == 2 * arr[j] ...

三妹的博客 597

【06】C#入门到精通——C# 多个 .cs文件项目 同一项目下添加多个 .cs文件

本文介绍了如何将C#游戏开发中的代码从单个.cs文件拆分到多个.cs文件中,以提升代码的可维护性和可读性。文章演示了在Visual Studio中创建Hero类和ShowInfo类的具体步骤:通过右键项目名添加新建类,将原有代码分别剪切到对应的类文件中,并自动生成命名空间。拆分后需要在Program.cs中通过"using"指令引用这些类,最后通过运行测试验证功能正常。这种模块化代码组织方式能有效解决单一文件代码过长、结构混乱的问题。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1137

LeetCode 1346. Check If N and Its Double Exist

LeetCode 1346. Check If N and Its Double Exist (Easy);主要知识点:set;优先级:2

温迪今天刷题了吗 424

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Leetcode 1346:检查整数及其两倍数是否存在(超详细的解法!!!)

给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M)。 更正式地,检查是否存在两个下标 i 和 j 满足: i != j 0 <= i, j < arr.length arr[i] == 2 * arr[j] 示例 1: 输入:arr = [10,2,5,3] 输出:true 解释:N = 10 是 M = 5 的两倍,...

coordinate的博客 1089

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[leetcode] 1346. Check If N and Its Double Exist

Description Given an array arr of integers, check if there exists two integers N and M such that N is the double of M ( i.e. N = 2 * M). More formally check if there exists two indices i and j such that : i != j 0 <= i, j < arr.length arr[i] == 2 *

Learning from the mistakes 282

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java check()_Java中的双重检查(Double-Check)详解

在 Effecitve Java 一书的第 48 条中提到了双重检查模式,并指出这种模式在 Java 中通常并不适用。该模式的结构如下所示:public Resource getResource() {if (resource == null) {synchronized(this){if (resource==null) {resource = new Resource();}}}return ...

weixin_36190812的博客 495

Java 中的双重检查(Double-Check)

在 Effecitve Java 一书的第 48 条中提到了双重检查模式,并指出这种模式在 Java 中通常并不适用。该模式的结构如下所示:   [java] view plain copy public Resource getResource() {     if (resource == null) {        synchroniz

qq_31387691的博客 2994

【LeetCode 30天挑战活动】Day 21. Leftmost Column with at Least a One

题目描述 有一个自定义的01矩阵(即里面的元素非0即1),矩阵的每一行都是非倒序的 目的是找到第一个出现’1’的列,返回这个列值,如果没有(即元素全为0),就返回-1 限制: You can’t access the Binary Matrix directly. You may only access the matrix using a BinaryMatrix interface: Bi...

JellyFishDing的博客 490

【Leetcode & Union-Find】使用并查集解决1319. Number of Operations to Make Network Connected

写在前面 这是今天下午做leetcode contest的第三题,一开始看到的时候以为考察的是图的连通性的问题,没能想出解决方法,后来看Discussion,发现大家都用到了Union-Find,正好《算法》也看到Union-Find,于是就去把这章看完了再来做,下面会先介绍Union-Find,然后写解题思路。 Union-Find(并查集) 由Dynamic Connectivity Pro...

JellyFishDing的博客 482

【LeetCode 30天挑战活动】Day2. Happy Number

题目 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 示例: 输入: 19 输出: true 解释: 1² + 9² = 82 8² + 2² = 68 6² + 8² = 100 1² + 0² + 0²...

JellyFishDing的博客 461

【Leetcode Medium】1348. Tweet Counts Per Frequency

原题链接 题目描述 记录推文的name和发布time,并返回要求的[start, end)区间内有多少指定的推文(区间按要求划分) 我的思路 这题最重要的是用什么数据结构来存推文name及发布时间。一开始想了两种数据结构,一个是HashMap<String, Integer>,但是由于hashmap是无序的,计算次数时搜索起来会比较麻烦;第二个是int数组,但只能方便记录次数不能对...

JellyFishDing的博客 425

【LeetCode 30天挑战活动】Day1. Single Number

题目 给定一个非空数组,数组中只有一个数字出现了1次,其他所有数字都出现了2次,找到这个只出现了1次的数字。 例如[2,1,2],返回1 我的思路 题目比较好理解也比较简单,第一个想法就是使用一个HashMap,遍历数组并记录下出现次数,然后遍历HashMap找到只出现过1次的数字。这个思路时间、空间复杂度都是O(n)。 由于题目要求中希望不使用额外的空间,于是想了另一个思路,也是比较直观,贴一下...

JellyFishDing的博客 364

【力扣每日一题】Day 2. 翻转字符串里的单词

题目描述 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例: 输入: " a good example " 输出: “example good a” 解题思路 我是一个无情的api选手(酷 使用空格将字符串分隔开...

JellyFishDing的博客 358

【Leetcode Medium】1318. Minimum Flips to Make a OR b Equal to c

原题链接 题目描述 Given 3 positives numbers a, b and c. Return the minimum flips required in some bits of a and b to make ( a OR b == c ). (bitwise OR operation). Flip operation consists of change any single...

JellyFishDing的博客 354

【力扣每日一题】Day 1. 括号生成

最近力扣在搞每日一题活动,正好我也需要多练一练JavaScript,所以就打算用js来做力扣的每日一题,并且每天在博客记录一下。 LeetCode那边也会继续做,不过那边就是用Java写(目前比较贪心,打算js和Java两手抓,不说学得多精,但至少做题时得两个都会用 题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3...

JellyFishDing的博客 337
上一篇: 【Leetcode & Union-Find】使用并查集解决1319. Number of Operations to Make Network Connected
下一篇: 【Leetcode Medium】1348. Tweet Counts Per Frequency
JellyFishDing
博客等级 码龄8年 4粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值