刷题笔记——Java

Java算法刷题笔记总结 最近刷力扣的一部分规划和总结在这里记载一下: 文章目录一. 回溯算法1.Java实现回溯算法入门2.Java实现回溯算法进阶二、动态规划1.算法(Java)——动态规划 一. 回溯算法 1.Java实现回溯算法入门 (Java实现回溯算法入门(排列+组合+子集)) 2.Java实现回溯算法进阶 (Java实现回溯算法进阶(搜索)) 回溯算法是对树形或者图形结构执行一次深度优先遍历,实际上类似枚举的搜索尝试过程,在遍历的过程中寻找问题的解。 深度优先遍历有个特点:当发现已不满足求解条件时,就返回,尝试别的路径 阅读详情

一.简介

       浏览了好些相关博客,打算换个方式做笔记,采用迭代的方式去记录遇到的知识点,这样效率会更高一些,而且实践出真知,遇到再总结,印象会更深。

二.预写头

public class Main{
	public static void main(String[] args){
			//······(相关内容)
	} 
}

三.输入输出

————————————————————输入————————————————————
Scanner scan = new Scanner(System.in);  //写起来比较简便,但内存效率低,考试节省时间用。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  //效率更高,但写起来比较麻烦,一般刷榜用。

scan.next():int|String|etc.     //遇到空格则终止接受输入
scan.nextLine():int|String|etc. //可以接受包含空格的字符串
scan.nextInt();   				//可以直接获取除String类型的数据,以此类推
scan.nextDouble();
scan.hasNext():Boolean  		//控制输入用,判断是否输入完毕。
scan.hasNextLine():Boolean

br.readLine();
while(br.readLine()!=null){
     //``````
}
————————————————————输出————————————————————
System.out.println(String outPut);

四.字符串操作

1.分割字符串

1)需求

2)代码实现

String str;
str.charAt(int index):char
输入想要获得的某个字符的下标(从0开始)

str.length():int
str.indexOf():int
str.lastIndexOf():int
str.split():String[]
str.trim():String
str.replace(char oldChar, char newChar):String
str.toLowerCase():String
str.toUpperCase():String
str.substring(int beginIndex, int endIndex):String

重点:正则表达式匹配,这一应用比较广泛,可以用来对字符串进行匹配,根据正则表达式我们可以做到验证 源字符串 与被验证字符串 的包含(包含一个或多个)、前缀、后缀、相等等关系。
这个在第六章单独总结。

str.matches("//regex"):boolean
StringBuilder sb = new StringBuilder();
sb.reverse():StringBuilder
sb.append(String s):StringBuilder
sb.delete(int start, int end):StringBuilder
sb.insert(int index,[int|char|String]):StringBuilder
sb.replace(int start, int end, String str):StringBuilder
sb.toString():String

五.结构体模拟

在预写头的基础上:

public class Main{
	//结构体
	static class A{
		//属性
		private [int|String|List|etc.] attr;
		
		//构造函数
		public A(){
			//······初始化属性
			this.attr=···;
		}
		
		//属性操作函数
		public void setAttr([int|String|etc.] b){
			this.attr = b;
		}

		public [int|String|List|etc.] getAttr(){
			return this.attr;
		}

		//根据需求增加对该结构体的一些操作函数。
		//······
	}
	//主函数
	public static void main(String[] args){
			//初始化结构体(对象)
			A a = new A();
			A[] a = new A[10];
			for(int i=0;i<a.length;i++){
				a[i] = new A();
			}
			//操作结构体(对象)
			a.setAttr(···);
			[] b = a.getAttr();
			//······
	}
}

六.正则表达式

师兄刷题笔记、算法小抄、面试突击版必备资源,帮你走上人生巅峰 前言 最近有很多朋友问我刷题、面试有没有什么好的资源。今天就给大家找了三个棒的开源资源,内容非常硬核,很多人靠着它进了大厂。 不绕弯子,三个分别是谷歌师兄《谷歌大佬的刷题笔记》,东哥《labuladong的算法小抄》,Guide哥的《Java面试突击版》。三位大佬都是我很钦佩之人,他们把自己整理的东西开源分享,太赞了,我这边帮大家搜集到pdf版本可以直接观看。 本来想在csdn上上传资源大家可以直接下载的,但是版权问题不允许,那这些开源资源pdf文件只能通过百度云方式给大家分享了。 三份资源可以直接微信搜一 阅读详情

相关推荐

基于ANSYS的电磁兼容仿真教程

最近,在做某系统的EMC仿真,使用ANSYS套件,对仿真学习做简要记录。本书简介与目录如下:本书配套有:视频教程+工程源文件+彩色仿真图片,下载链接如下:(审核中)第1章 基础知识1.1 电磁兼容基础​​​MS2、EMC三要素:3、 国际无线电干扰特别委员会标准:CISPR标准4、电磁兼容测试认证:传导发射(CE)、传导敏感度(CS)、辐射发射(RE)和辐射敏感度(RS)测试。

weixin_42508010的博客 2051

LeetCode刷题笔记(Java)---第101-120题

文章目录全部章节1-18题19-40题41-60题61-80题81-100题101-120题101. 对称二叉树 全部章节 1-18题 19-40题 41-60题 61-80题 81-100题 101-120题 101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是...

gongsenlin341的博客 748

三维重建笔记_光束平差法(Bundle Adjustment, BA)

目录 1 光束平差法(Bundle Adjustment, BA) 1.1 SFM (Structure‐from‐Motion) 定义 问题描述 1.2 重投影误差 (Reprojection Error) 目标函数 1.3 使用 Levenberg‐Marquardt Algorithm 进行优化 问题描述 简化目标函数 参考 Gauss‐Newton Method ...

惊鸿一博 2万+

LeetCode Java面试刷题笔记汇总

LeetCode Java刷题笔记汇总,按照类型刷题效率更高。。大厂面试算法题有一定的运气成分,有可能你刷的比较少,但是遇到会的题就进去了,也有可能你刷的比较多,但是出题比较偏就进不去,可以针对某个大厂来刷题,推荐。你刷题越多,那么靠运气的成分就越少,一般来说,刷题两三百道的时候,就可以去国内大厂的一般开发岗位尝试投递且比较稳了。

2509_93956783的博客 969

蓝鸟四轴飞控系统C程序V3.0(基础版本)深度解读

2. 解析遥控通道数据(油门 / 横滚 / 俯仰 / 偏航),转换为标准化值(-1000~+1000);3. 封装PID初始化(PID_Init,配置KP/KI/KD、输出限幅、积分限幅);,包含姿态角(Attitude_Data.Roll/Pitch/Yaw)、角速度(Gyro_Data.X/Y/Z)、遥控值(RC_Data[0~5])、电池电压(Bat_Volt)、电机PWM值(Motor_PWM[0~3])、系统状态(Sys_State),校验和通过Check_Sum()函数计算;

搏博的专栏 343

【100%通过率】华为OD机试真题 C++ 实现【水库蓄水问题】【2022.11 Q4 新题】

给定一个长度为 n 的整数数组height。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。

MISAYAONE的博客 1万+

【Java】力扣 - 刷题笔记 - 1295

【Java】力扣 - 刷题笔记 - 1295【Java】力扣 - 刷题笔记 - 1295题目介绍解题思路 【Java】力扣 - 刷题笔记 - 1295 每日一道题,提升一点点 题目介绍 1295. 统计位数为偶数的数字 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数

李晋江的博客 717

ABAP RANGES及比较符号

RANGES *选项介绍: *1.SIGN 值为 I 和 E 。 I是包含, E是排除, 一般使用I。 2.OPTION 如果HIGH 为空 ,为单值选择 。有 EQ、NE、GT、LE、LT等逻辑操作 对于的 CP包含 NP是排除 如果HIGH 不为空 为区间选择 有BT,NB可选 *3.LOW 低值 *4.HIGH 高值 lt:less than 小于 le:less than or equal to 小于等于 eq:equal to 等于 ne:

Pegasus666的博客 5389

LeetCode Hot100刷题笔记·Java版(3)

本文接目前处在第一轮学习阶段,学习重点在于解题逻辑的训练。在后续进行二轮复习时,会再次精进该文章,增添代码注释、细节解析、难点剖析等部分。尽请期待吧!

weixin_42329632的博客 349

LVS 负载均衡面试题及参考答案

什么是 LVS 负载均衡?它的主要作用是什么? LVS(Linux Virtual Server)是一个基于 Linux 内核的开源负载均衡项目。它通过将请求流量按照一定的算法分发到后端的多个真实服务器(Real Server)上,从而实现负载均衡的功能。 从原理上来说,LVS 工作在网络层和传输层之间。当客户端发起请求时,请求首先到达 LVS 服务器,LVS 会根据预先设定的规则和算法,比如轮询(Round - Robin)、加权轮询(Weighted Round - Robin)、最少连

大模型大数据攻城狮的专栏 1469

rk3568 Android12 增加 USB HOST 模式开关(二)

将原有 USB-C 改为 USB-A,并在设置中增加USB工作模式开关可以让用户选择USB端口的功能模式,例如充电、文件传输、或MIDI设备。用户能够灵活管理设备的连接方式,优化数据传输和设备兼容性。

weixin_35723192的博客 734

leetcode刷题java、c++、go语言三合一版本 谷歌师兄的刷题笔记、东哥的算法小抄、 Guide哥的Java面试突击版

不久前火爆 GitHub 的 LeetCode 中文刷题手册,分享给大家,让正在找工作的朋友能够快速找到心仪的offer! 《LeetCode Cookbook》目前已经收录了 520 道题的题解,这是最新版本! 这是之前分享

张小丑 821

YOLO11涨点优化:训练技巧 | 使用标签平滑(Label Smoothing)配合余弦退火学习率,防止过拟合,稳步提点

摘要: YOLO11凭借动态卷积核调度、自适应特征融合等创新成为2026年目标检测主流,但面临训练集过拟合问题。文章聚焦两种零推理开销的正则化技巧:标签平滑(Label Smoothing)和余弦退火学习率(Cosine Annealing LR)。标签平滑通过软化硬标签(如将[1,0]改为[0.9,0.1])防止模型过度自信,代码中通过label_smoothing=0.1一键启用;余弦退火则以平滑的余弦曲线调整学习率(cos_lr=True),避免阶梯衰减的震荡。两者组合可显著缩小YOLO11训练与验证

2601_95807009的博客 45

《代码随想录》刷题笔记——回溯篇【java实现】

本文围绕经典算法问题展开,详细解析了多个LeetCode题目及其优化方案,涵盖组合、组合总和、电话号码字母组合、分割回文串、复原IP地址、子集、递增子序列及全排列等。通过递归与回溯方法,结合剪枝优化技巧,提供了高效解决方案。文章不仅展示了基础实现代码,还深入探讨了性能改进策略,如动态规划、数组初始化优化和去重方法等,帮助读者全面理解并掌握相关算法的核心思想与实践技巧。

我只管埋头前行,剩下的交给时间。 1430

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LeetCode hot100-力扣热题100刷题笔记(基于Java)

一、1.两数之和题目链接法一:两层for循环暴力解(不采用)法二:用哈希表存放<值,下标>,方便找另一个数,省去了遍历另一个数的时间 二、49.字母异位词分组题目链接法一:法1把两个单词排序后再比较,相同的话就是异位词,这里要注意的点是不能直接用char[]当key,因为没写equals和hashcode方法导致每次key都不一样会返回新的列表。 采用:法二:把两个单词字母计数比较,各字母计数一样的话就是异位词,这里要注意的点是sb.appen(‘a’+i)和sb.append(hash[i])必须分开写,

lkjsldkf的博客 606

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode Hot100刷题笔记·Java版(2)

本文接。

weixin_42329632的博客 311

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

剑指Offer Java版 66题刷题笔记汇总

备战校招研发岗,无论笔试还是面试算法都占很大比重的,加油! 写在前面 此文章为刷题笔记的汇总篇,包含《剑指Offer》66道算法题的个人解题思路及Java代码。 代码同步发布在GitHub:https://github.com/JohnnyJYWu/offer-Java 所有题目均可在牛客网在线编程平台进行调试。 网址:https://www.nowcoder.com/ta/coding...

机盐的博客 3735

【Java】力扣 - 刷题笔记 - 1313

【Java】力扣 - 刷题笔记 - 1313【Java】力扣 - 刷题笔记 - 1313题目介绍解题思路 【Java】力扣 - 刷题笔记 - 1313 每日一道题,提升一点点 题目介绍 1313. 解压缩编码列表 给你一个以行程长度编码压缩的整数列表 nums 。 考虑每对相邻的两个元素 [freq, val] = [nums[2i], nums[2i+1]] (其中 i >= 0 ),每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。

李晋江的博客 589

刷完 300 道 LeetCode 题后,我膨胀到要飘起来了!纯正 Java 版

优快云 的小伙伴们,大家好,我是爱学习爱分享的沉默王二。 迫不及待的小伙伴可以直接拖到文末,拉取离线版的下载地址,无套路无解压密码,我整理了将近一周的时间。 不经意间,在 GitHub 上发现了一个 1G 棒的 LeetCode 刷题笔记,重点来了,是纯正的 Java 版。我见过很多牛逼的刷题笔记,有 Go 版的,有 C++ 版的,唯独没有 Java 版的,所以这次,我感觉找到了宝藏! 其实私下里很多小伙伴问我有没有 Java 版的,一开始我觉得刷题嘛,用啥语言刷题根本不重要,重要的是解题的思路。但看到这

沉默王二 3万+

【Java】力扣 - 刷题笔记 - 1365

【Java】力扣 - 刷题笔记 - 1365【Java】力扣 - 刷题笔记 - 1365题目介绍解题思路 【Java】力扣 - 刷题笔记 - 1365 每日一道题,提升一点点 题目介绍 1365. 有多少小于当前数字的数字 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。 以数组形式返回答案。 示例 1: 输入

李晋江的博客 598
上一篇: 服务器搭建学习笔记(四)
下一篇: 刷题笔记——C语言
阿庆1996
博客等级 码龄10年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值