当前位置: 首页 > news >正文

【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找

目录

JZ3 数组中重复的数字 

思路:

 解题步骤:

 JZ4 二维数组中的查找

思路


JZ3 数组中重复的数字 

描述:

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1。

思路:

首先,我们需要知道我们用什么数据结构。读题,不难发现他是找重复的数字,这时,我们首先想到的就是HashSet了,因为它在存储数据时,数据是不会重复的。

 解题步骤:

  1. new一个HashSet对象。
  2. 将数组中的数据加到hashset,此时,需要判断加入的数据在hashset是否存在,不存在就加到对象当中,若存在。证明这个数是重复的,return就行了。

 题目入口:

点击进入该题

代码如下:

public int duplicate (int[] numbers) {// write code hereSet<Integer> hashset=new HashSet<>();//将数组输入set当中for(int i=0;i<numbers.length;i++) {if(!hashset.contains(numbers[i])) {hashset.add(numbers[i]);}else {return numbers[i];}}return -1;}

 JZ4 二维数组中的查找

描述:

在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

[

[1,2,8,9],
[2,4,9,12],
[4,7,10,13],
[6,8,11,15]

]

给定 target = 7,返回 true。

给定 target = 3,返回 false。

思路:

定义row和col表示行和列,利用二维数组由上到下,由左到右递增的规律,那么选取右上角或者左下角的元素a[row][col]与target进行比较,当target小于元素a[row][col]时,那么target必定在元素a所在行的左边,即col--;当target大于元素a[row][col]时,那么target必定在元素a所在列的下边,即row++。

题目入口:

点击进入该题

代码如下:

public boolean Find(int target, int [][] array) {int row=0;int col=array[0].length-1;while(row<=array.length-1 && col>=0) {if(target==array[row][col]) {return true;}else if(target>array[row][col]) {//在下一行row++;}else {//这一行,再进行一个一个遍历col--;}}return false;}

相关文章:

【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找

目录 JZ3 数组中重复的数字 思路&#xff1a; 解题步骤&#xff1a; JZ4 二维数组中的查找 思路 JZ3 数组中重复的数字 描述&#xff1a; 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的&#xff0c;但不知道有几个数字是重复的。也不知道每…...

数据采集 - 笔记

1 redis GitHub - redis/redis: Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps. Redis 通常被称为数…...

8年测开经验面试28K公司后,吐血整理出高频面试题和答案

#01、如何制定测试计划&#xff1f; ❶参考点 1.是否拥有测试计划的制定经验 2.是否具备合理安排测试的能力 3.是否具备文档输出的能力 ❷面试命中率 80% ❸参考答案 测试计划包括测试目标、测试范围、测试环境的说明、测试类型的说明&#xff08;功能&#xff0c;安全&am…...

spring读取properties顺序,重复key问题

最近搞个开源工具&#xff0c;涉及到配置问题。 举例 有个应用A工具&#xff0c;打成jar给人用。应用B引用了A的jar A应用里resources/sys.properties文件里有个coreSize1 B引用了A&#xff0c;期望修改coreSize的值&#xff0c;改成2 开始天真以为&#xff0c;B应用里有同…...

什么是api接口?(基本介绍)

API:应用程序接口(API:Application Program Interface) 应用程序接口是一组定义、程序及协议的集合&#xff0c;通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用 API 函数对应用程序进行开发&#xff0c;可以减轻编程任务。 …...

【2023全网最全教程】从0到1开发自动化测试框架(建议收藏)

一、序言 随着项目版本的快速迭代、APP测试有以下几个特点&#xff1a; 首先&#xff0c;功能点多且细&#xff0c;测试工作量大&#xff0c;容易遗漏&#xff1b;其次&#xff0c;代码模块常改动&#xff0c;回归测试很频繁&#xff0c;测试重复低效&#xff1b;最后&#x…...

3-5天炒股短线战法指标思想结合----超级短线源码无未来

超级短线以3-5个交易日获利3-5个点为目标&#xff0c;经过长期总结、实践、实盘操作编写的一个短线指标和思想&#xff01; 如果你认为这一个指标像股市提款机一个&#xff0c;可以随意的赚钱&#xff0c;请你不要购买; 如果你你购买了指标又不想思考分析&#xff0c;想随意的赚…...

原始GAN-pytorch-生成MNIST数据集(代码)

文章目录原始GAN生成MNIST数据集1. Data loading and preparing2. Dataset and Model parameter3. Result save path4. Model define6. Training7. predict原始GAN生成MNIST数据集 原理很简单&#xff0c;可以参考原理部分原始GAN-pytorch-生成MNIST数据集&#xff08;原理&am…...

注意,这些地区已发布2023年上半年软考报名时间

距离2023年上半年软考报名越来越近了&#xff0c;目前已有山西、四川、山东等地区发布报名简章&#xff0c;其中四川3月13日、山西3月14日、山东3月17日开始报名。 四川 报名时间&#xff1a;3月13日至4月3日。 2.报名入口&#xff1a;https://www.ruankao.org.cn/ 缴费时间…...

Html引入外部css <link>标签 @import

Html引入外部css 方法1: <link rel"stylesheet" href"x.css"> <link rel"stylesheet" href"x.css" /><link rel"stylesheet" href"x.css" type"text/css" /><link rel"sty…...

React源码分析8-状态更新的优先级机制

这是我的剖析 React 源码的第二篇文章&#xff0c;如果你没有阅读过之前的文章&#xff0c;请务必先阅读一下 第一篇文章 中提到的一些注意事项&#xff0c;能帮助你更好地阅读源码。 文章相关资料 React 16.8.6 源码中文注释&#xff0c;这个链接是文章的核心&#xff0c;文…...

如何在ChatGPT的API中支持多轮对话

一、问题 ChatGPT的API支持多轮对话。可以使用API将用户的输入发送到ChatGPT模型中&#xff0c;然后将模型生成的响应返回给用户&#xff0c;从而实现多轮对话。可以在每个轮次中保留用户之前的输入和模型生成的响应&#xff0c;以便将其传递给下一轮对话。这种方式可以实现更…...

华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明猜字谜题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,...

Containerd容器运行时将会替换Docker?

文章目录一、什么是Containerd&#xff1f;二、Containerd有哪些功能&#xff1f;三、Containerd与Docker的区别四、Containerd是否会替换Docker&#xff1f;五、Containerd安装、部署和使用公众号&#xff1a; MCNU云原生&#xff0c;欢迎微信搜索关注&#xff0c;更多干货&am…...

java虚拟机中对象创建过程

java虚拟机中对象创建过程 我们平常创建一个对象&#xff0c;仅仅只是使用new关键字new一个对象&#xff0c;这样一个对象就被创建了&#xff0c;但是在我们使用new关键字创建对象的时候&#xff0c;在java虚拟机中一个对象是如何从无到有被创建的呢&#xff0c;我们接下来就来…...

3485. 最大异或和

Powered by:NEFU AB-IN Link 文章目录3485. 最大异或和题意思路代码3485. 最大异或和 题意 给定一个非负整数数列 a&#xff0c;初始长度为 N。 请在所有长度不超过 M的连续子数组中&#xff0c;找出子数组异或和的最大值。 子数组的异或和即为子数组中所有元素按位异或得到的…...

SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)

SpringBoot配置文件1. 配置文件格式1.1 application.properties配置文件1.2 application.yml配置文件1.3 application.yaml配置文件1.4 三种配置文件优先级和区别2. yaml格式2.1 语法规则2.2 yaml书写2.2.1 字面量&#xff1a;单个的、不可拆分的值2.2.2 数组&#xff1a;一组按…...

QT 学习之QPA

QT 为实现支持多平台&#xff0c;实现如下类虚函数 Class Overview QPlatformIntegration QAbstractEventDispatcherQPlatformAccessibilityQPlatformBackingStoreQPlatformClipboardQPlatformCursorQPlatformDragQPlatformFontDatabaseQPlatformGraphicsBufferQPlatformInput…...

Pytorch中FLOPs和Params计算

文章目录一. 含义二. 使用thop库计算FLOPs和Params三. 注意四. 相关链接一. 含义 FLOPs&#xff08;计算量&#xff09;&#xff1a;注意s小写&#xff0c;是floating point operations的缩写&#xff08;这里的小s则表示复数&#xff09;&#xff0c;表示浮点运算数&#xff…...

DP1621国产LCD驱动芯片兼容替代HT1621B

目录DP1621简介DP1621芯片特性DP1621简介 DP1621是点阵式存储映射的LCD驱动器芯片&#xff0c;可支持最大128点&#xff08;32SEG * 4COM&#xff09;的 LCD屏&#xff0c;也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发送显示数据&#xff0c;也可通过指…...

信息安全保障模型

信息安全保障模型是指导组织构建安全体系的理论框架。信息安全领域发展出了多个经典且广泛应用的安全模型。这些模型从不同维度阐述了如何实现“保护信息资产的机密性、完整性和可用性&#xff08;CIA&#xff09;”的目标。1. P2DR / PPDR 模型全称&#xff1a;Policy, Protec…...

手把手教你用丹青识画:让AI为照片配上惊艳的书法描述

手把手教你用丹青识画&#xff1a;让AI为照片配上惊艳的书法描述 1. 前言&#xff1a;当AI遇见传统书法 想象一下&#xff0c;你随手拍下的风景照片&#xff0c;经过AI处理后竟变成了一幅配有优雅书法题跋的艺术作品。这就是「丹青识画」智能影像系统带来的神奇体验。作为一个…...

想拥有专属的桌面宠物伙伴吗?DyberPet开源框架让个性化养成触手可及

想拥有专属的桌面宠物伙伴吗&#xff1f;DyberPet开源框架让个性化养成触手可及 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 你是否曾希望电脑桌面上能有一个可爱的虚拟伙伴&a…...

OpenClaw飞书机器人:GLM-4.7-Flash实现智能问答助手

OpenClaw飞书机器人&#xff1a;GLM-4.7-Flash实现智能问答助手 1. 为什么选择OpenClaw飞书GLM组合 去年我接手了一个技术文档整理项目&#xff0c;每天需要处理上百条来自不同渠道的技术咨询。手动回复效率低下&#xff0c;而公有云上的智能客服方案又存在数据安全顾虑。直到…...

百川2-13B-4bits+OpenClaw组合优化:5招降低Token消耗

百川2-13B-4bitsOpenClaw组合优化&#xff1a;5招降低Token消耗 1. 为什么需要关注Token消耗&#xff1f; 当我第一次将百川2-13B-4bits模型与OpenClaw对接时&#xff0c;就被Token消耗的速度震惊了。一个简单的文件整理任务&#xff0c;前后不到10分钟的操作&#xff0c;竟然…...

用雪花算法就不会产生重复的ID?

今天想和大家聊聊分布式系统中常用的雪花算法&#xff08;Snowflake&#xff09;——这个看似完美的ID生成方案&#xff0c;实际上暗藏玄机。有些小伙伴在工作中一提到分布式ID&#xff0c;第一个想到的就是雪花算法。确实&#xff0c;它简单、高效、趋势递增&#xff0c;但你知…...

小型团队离线部署大模型指南:别先追参数,先把“能长期跑”的系统搭起来

小型团队离线部署大模型指南&#xff1a;别先追参数&#xff0c;先把“能长期跑”的系统搭起来 在很多人的想象里&#xff0c;离线部署大模型是一件很“硬核”的事&#xff1a;上几张高端 GPU&#xff0c;把一个足够大的模型拉起来&#xff0c;再配个网页聊天界面&#xff0c;似…...

3分钟上手!免费足球数据宝库football.json完全指南

3分钟上手&#xff01;免费足球数据宝库football.json完全指南 【免费下载链接】football.json Free open public domain football data in JSON incl. English Premier League, Bundesliga, Primera Divisin, Serie A and more - No API key required ;-) 项目地址: https:/…...

OrCAD Library Builder 17.2安装避坑指南:从破解失败到成功导出的完整流程

OrCAD Library Builder 17.2实战指南&#xff1a;从安装配置到高效建库的全流程解析 在电子设计自动化领域&#xff0c;OrCAD Library Builder作为Cadence生态系统中的重要工具&#xff0c;能够显著提升原理图符号和PCB封装库的创建效率。本文将深入剖析17.2版本的核心功能&…...

智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南

智能告警管理平台如何帮助运维团队减少75%告警噪音&#xff1a;Keep AIOps平台实践指南 【免费下载链接】keep The open-source alerts management and automation platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在现代IT环境中&#xff0c;运维团队…...