[Java刷算法]牛客—剑指offer第一天

  • 🧛‍♂️个人主页:杯咖啡
  • 💡进步是今天的活动,明天的保证!
  • ✨目前正在学习:SSM框架,算法刷题
  • 🙌牛客网,刷算法过面试的神级网站,用牛客你也牛。 👉免费注册和我一起学习刷题👈
  • 🐳希望大家多多支持🥰一起进步呀!
  • 😎The man who fears losing has already lost.
    怕输的人已经输了。 - 《权力的游戏》

🎈前言

很多小伙伴,对于自己以后的路很迷茫,不论是考研或者面试,都充满了不确定性

小编在学校担任学生会科技创新部副部长,经历和组织了很多次的面试,总结出:实力固然最重要,但是面试也是要深入准备和了解的,可不管怎么样,不论早晚都是要 面试 的,所以为了解决我们的迷茫和内心的恐惧,小编决定今天开始深入了解面试——刷面试题

一次偶然的机会,我了解到牛客对于面试拥有很丰富的面试题库,并且很多大厂也是使用的牛客的源题库。 抱着试试的态度我开始了刷 《剑指offer》

以后的每天小编都会刷三题,并且写成博客记录知识和心情,感兴趣的小伙伴可以和我一起刷,一起了解面试,一起打破迷茫,坚定远方。

👉免费注册陪伴小编30天刷完《剑指offer》👈

✨今日三剑

  • JZ3 数组中重复的数字
  • JZ4 二维数组中的查找
  • JZ5 替换空格

文章目录

  • 🎈前言
  • ✨今日三剑
  • JZ3 数组中重复的数字
    • 题目描述
    • 思路详解
    • 代码与结果
  • JZ4 二维数组中的查找
    • 题目描述
    • 思路详解
    • 代码与结果
  • JZ5 替换空格
    • 题目描述
    • 思路详解
    • 代码与结果
  • ✨总结


JZ3 数组中重复的数字

题目描述

在这里插入图片描述

思路详解

本题的思路比较简单,首先将这个数组排序,遍历数组,找到当前的和前一个相同的直接输出就好了。没找到输出-1.
注意:这个方法要注意循环的时候下标要从1开始哦,不然会报数组下标异常滴。

代码与结果

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型一维数组 * @return int整型*/public int duplicate (int[] numbers) {// write code hereArrays.sort(numbers);for(int i = 1 ; i < numbers.length; i++)if(numbers[i] == numbers[i - 1]) return numbers[i];return -1;}
}

在这里插入图片描述

JZ4 二维数组中的查找

题目描述

在这里插入图片描述

思路详解

这个题目有点难度。仔细读题发现了一个重要条件,这个二位数组行和列都是递增的,也就意味着左上最小,右下最大,并且左下元素大于它上方的元素,小于它右方的元素,右上元素与之相反。
根据这个规律,我们可以从左下出发分情况往上或者右进行找,同时要先判断一下特殊情况哦。
具体细节上代码。

代码与结果

public class Solution {public boolean Find(int target, int [][] array) {//优先判断特殊if(array.length == 0) return false;int n = array.length;if(array[0].length == 0) return false;int m = array[0].length;//从最左下角的元素开始往左或往上for(int i = n - 1, j = 0; i >= 0 && j < m; ){//元素较大,往上走if(array[i][j] > target)  i--;//元素较小,往右走else if(array[i][j] < target)j++;elsereturn true;}return false;}
}

在这里插入图片描述

JZ5 替换空格

题目描述

在这里插入图片描述

思路详解

本题的替换空格,思路还是比较简单的。
我们遍历字符串把它存到一个临时字符数组里,在遍历的时候直接判断是否为空,如果是直接加进‘%20’三个字符,最后输出即可。
注意:临时数组的大小,设置为字符串长度的3倍,刚刚好,假设该字符串全是空格,也可以满足。同时也要注意字符串的相关方法的运用哦。

代码与结果

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param s string字符串 * @return string字符串*/public String replaceSpace(String s) {int length = s.length();char[] array = new char[length * 3];int index = 0;for (int i = 0; i < length; i++) {char c = s.charAt(i);if (c == ' ') {array[index++] = '%';array[index++] = '2';array[index++] = '0';} else {array[index++] = c;}}String newStr = new String(array, 0, index);return newStr;
}
}

在这里插入图片描述


✨总结

到这里今日的三剑就完成了,题目不难,但难在坚持,和小编一起互相鼓励,互相监督,共同30太难完成《剑指offer》吧。小编在牛客等你,关注《牛客—剑指offer》专栏,和编一起加油!!!

原 创 不 易 , 还 希 望 各 位 大 佬 支 持 一 下 \textcolor{blue}{原创不易,还希望各位大佬支持一下}

点 赞 , 你 的 认 可 是 我 创 作 的 动 力 ! \textcolor{green}{点赞,你的认可是我创作的动力!}

收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 ! \textcolor{green}{收藏,你的青睐是我努力的方向!}

评 论 , 你 的 意 见 是 我 进 步 的 财 富 ! \textcolor{green}{评论,你的意见是我进步的财富!}

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

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

相关文章

我成为开源贡献者的原因竟然是做MySql-CDC数据同步

今年下半年机缘巧合下公司决定搭建自己的数据中台&#xff0c;中台的建设势必少不了数据集成。首先面临的就是数据集成技术选型的问题&#xff0c;按照社区活跃度、数据源适配性、同步效率等要求对市面上几个成熟度较高的开源引擎进行了深度调研。 最终经过内部讨论决定用Apac…

云服务器部署Stable Diffusion Webui从0到1总结:反复重启+循环debug

文章目录 在学校服务器部署Stable Diffusion Webui&#xff08;一&#xff09;准备工作&#xff08;二&#xff09;环境配置&#xff08;三&#xff09;git拉取项目到本地&#xff08;四&#xff09;运行项目 遇到的问题&#xff1a;&#xff08;一&#xff09;使用git clone时…

JAVAEE初阶 多线程进阶(二)

多线程进阶相关知识点 一.CAS1.1 CAS的原子类1.2 实现自旋锁1.3CAS中的ABA问题1.4 ABA问题的解决 二. callable接口三.reentrantLock3.1 reentrantLock与synchronized区别 四.信息量 semaphore五. CountDownLatch六. concurrentHashMap6.1 concurrentHashMap的优点 一.CAS CAS …

如何解决csgo搬砖饰品买了跌价的问题

大家好&#xff0c;我是阿阳。 经常有粉丝问&#xff1a;近期是该买还是该抛&#xff0c;每次买了就跌&#xff0c;抛了就涨&#xff0c;太揪心了。 在这聊聊阿阳自己对这个问题的看法&#xff0c;首先大家都知道csgo游戏搬砖从饰品持有时间长短&#xff0c;可以分为两类&…

【Python学习】Python学习20- 面向对象(1)

目录 【Python学习】Python学习20- 面向对象&#xff08;1&#xff09; 前言面向对象技术简介类的创建实例&#xff1a;创建实例对象访问属性 Python内置类属性完整代码输出 参考 文章所属专区 Python学习 前言 本章节主要说明Python的面向对象的处理。Python从设计之初就已经…

【Python学习】Python学习19- 异常处理

目录 【Python学习】Python学习19- 异常处理 前言python标准异常异常处理带异常类型语法不带异常类型语法使用except而带多种异常类型try-finally 语句触发异常 参考 文章所属专区 Python学习 前言 本章节主要说明Python的异常处理。 python标准异常 BaseException 所有异常…

中级Python面试问题

文章目录 专栏导读1、xrange 和 range 函数有什么区别&#xff1f;2、什么是字典理解&#xff1f;举个例子3、元组理解吗&#xff1f;如果是&#xff0c;怎么做&#xff0c;如果不是&#xff0c;为什么&#xff1f;4、 列表和元组的区别&#xff1f;5、浅拷贝和深拷贝有什么区别…

微信小程序上传并显示图片

实现效果&#xff1a; 上传前显示&#xff1a; 点击后可上传&#xff0c;上传后显示&#xff1a; 源代码&#xff1a; .wxml <view class"{{company_logo_src?blank-area:}}" style"position:absolute;top:30rpx;right:30rpx;height:100rpx;width:100rp…

OWASP漏洞原理启航(第一课)

OWASP Top 10 2021 介紹 漏洞原理启航介绍 OWASP 定义&#xff1a; AI介绍 OWASP (开放Web应用程序和安全项目) 是一个全球性的社区&#xff0c;致力于提供关于Web应用程序安全性的信息、教育和支持。OWASP是一个非盈利组织&#xff0c;由志愿者驱动&#xff0c;旨在提高Web应…

从“精益思想“看机器人的开发与应用:一场科技与效率的完美融合

在科技飞速发展的今天&#xff0c;机器人已经深入到我们的生活和工作之中&#xff0c;成为了提高效率、提升质量的重要工具。然而&#xff0c;如何让机器人的开发和利用更有效率、更精细&#xff0c;这是摆在我们面前的一道难题。此时&#xff0c;"精益思想"的出现&a…

记ubuntu2004通过NetworkManager修改网络的优先级

这里写自定义目录标题 前言步骤 前言 起因在于万恶的校园网&#xff0c;突然台式有线死活没法认证&#xff08;感觉是IP冲突了&#xff1f;另外一台电脑同样的系统就没有问题&#xff0c;连路由器WIFI也是可以的&#xff0c;路由器设置的是桥接模式&#xff0c;有没有大佬提供…

不分青红皂白,美杜莎勒索软件攻击慈善饮用水机构Water for People

据The Record网站消息&#xff0c;1月11日&#xff0c;勒索软件组织美杜莎&#xff08;Medusa&#xff09;在其暗网受害名单网站上列出了 Water for People——一家专为贫困地区提供清洁饮用水的非盈利组织。 美杜莎向该组织索要30万美元赎金&#xff0c;否则将公布被盗信息。W…

表单验证 ---- 在Vue2中使用ElementUI进行表单验证

目录 前言 给表单绑定对应属性 在data中定义数据对象和表单的定义规则 与数据对象双向绑定 对整个表单进行验证 前言 在做项目时&#xff0c;对于表单进行验证是我们必不可少的 例如 搭建一个基本的登录界面 <div class"form"><h1>登录</h1>&…

操作系统复习 九-十二 章

操作系统复习 九-十二 章 文章目录 操作系统复习 九-十二 章第九章 单处理器调度调度的概念调度的时机、切换与过程进程调度方式调度的基本准则进程的挂起态与七状态模型典型的调度算法 第十一章 I/O管理和磁盘调度I/O 设备I/O控制方式I/O子系统的层次结构IO子系统概述IO调度概…

【电子取证篇】蘇小沐的电子取证工具合集在线文档

【电子取证篇】蘇小沐的电子取证工具合集在线文档 弄成了在线表格&#xff0c;记得及时保存&#xff1b;工具永远只是辅助&#xff0c;但不要过多依赖自动化&#xff0c;有难度说明可以提升&#xff0c;既要不断学习也要不停思考&#xff0c;知行合一—【蘇小沐】 【腾讯文档…

解决防爬虫机制方法(二)

最近为了完成学校的大数据的作业&#xff0c;老师要我们爬一个的网站&#xff0c;里面有还算不错的防爬机制&#xff0c;忙活了几天&#xff0c;总结出一些常见的防爬机制的应对方法&#xff0c;方法均来自个人实战总结&#xff0c;非专业爬虫角度分析 承接上一次讲的方法解决…

OpenAI 悄然更新使用政策

据 The Intercept 报道&#xff0c;OpenAI 近日悄然在其使用政策中删除了「明确禁止将其技术用于军事目的」的措辞。 截至 1 月 10 日&#xff0c;OpenAI 的「使用政策」页面还包括禁止「具有高人身伤害风险的活动」&#xff0c;特别是应用于「武器开发」和「军事和战争」。 而…

Binder 机制 javanative

一&#xff1a;Binder介绍 Binder是一套ipc通信方案 Binder框架定义了四个角色&#xff1a; Server &#xff0c;Client&#xff0c;ServiceManager &#xff08;以后简称SMgr&#xff09;以及Binder驱动。其中Server &#xff0c;Client&#xff0c;SMgr运行于用户空间&#…

随心玩玩(十三)Stable Diffusion初窥门径

写在前面&#xff1a;时代在进步&#xff0c;技术在进步&#xff0c;赶紧跑来玩玩 文章目录 简介配置要求安装部署下载模型启动ui插件安装教程分区提示词插件Adetailer插件提示词的分步采样采样器选择采样器的收敛性UniPC采样器 高分辨率修复 (Hires. fix)图生图ControlNet介绍…

jetson nano VNC远程桌面配置及使用(nomachine)

文章目录 jetson nano VNC远程桌面配置及使用1.Nomachine介绍2.在电脑端安装Nomachine3.在Jetson Nano端安装Nomachine4.电脑端连接及使用步骤5.修改分辨率6.NoMachine常见问题6.1 黑屏6.2 白屏 jetson nano VNC远程桌面配置及使用 本节适用于Jetson Nano没有单独显示器可以给…