力扣14寻找字符串数组中最长公共前缀 题目: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1: 输入:strs=["flower","flow","flight"] 输出:"fl" 示例2: 输入:strs=["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。 提示: 1<=strs.length<=200 0<=strs[i].length<=200 strs[i]仅由小写英文字母组成 解题思路: 首先我们需要将这个字符串数组进行排序,然后找到这个字符串数组中最短的字符串,因为进...

  ts5SxE9jKU6l   2023年11月01日   41   0   0 Java

力扣100相同的树 题目: 给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例1: 输入:p=[1,2,3],q=[1,2,3] 输出:true 示例2: 输入:p=[1,2],q=[1,null,2] 输出:false 示例3: 输入:p=[1,2,1],q=[1,1,2] 输出:false 提示: 两棵树上的节点数目都在范围[0,100]内 -104<=Node.val<=104 解题思路: 要判断两棵树是否相同我们首先想到两棵树要相同首先必须是树的结构必须相同且相同结构的...

  ts5SxE9jKU6l   2023年11月01日   56   0   0 Java

力扣104求二叉树的最大深度 题目: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明:叶子节点是指没有子节点的节点。 示例 给定二叉树[3,9,20,null,null,15,7], 3 /\ 920 /\ 157 返回它的最大深度3。 解题思路: 要求一颗二叉树的最大深度我们递归遍历这颗二叉树的左子树与右子树分别求得左子树与右子树的高度并返回其中的最大值最后再加上1就是这颗二叉树的最大深度。 代码: / 求一颗二叉树的最大深度,就看这棵二叉树的左子树与右子树的深度哪个最大,取这两者的最大值再加1 加1就是加的根节点的这一层 / public...

  ts5SxE9jKU6l   2023年11月01日   66   0   0 Java

初识Java Java的特性和优势 简单性 就是c语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。 面向对象 面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。万物皆对象! 可移植性 这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操作系统和硬件环境。“一次编写,随处运行”:“writeonce,runanywhere” 高性能 JIT(JUSTINTIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使JAVA程序的执行效率大大提高,某些代码甚...

  ts5SxE9jKU6l   2023年11月01日   56   0   0 Java

JavaSE:基础语法 注释 Java中的注释有三种: 单行注释:只能注释当前行,以//开始,直到行结束 ​//输出HelloWorld! 多行注释:注释一段文字,以/开始以/结束! ​/这是我们Java程序的主入口,main方法也是程序的主线程。/ 文档注释:用于生产API文档,配合JavaDoc。/再按回车键生成文档注释 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起 来,我们就需要用到一个注释了,注释就类似于我们上学时候写的笔记,我们看着笔记就知道自己写的 什么东西了!平时我们一定要养成编写注释的习惯。 标识符 Java语言中,对于变...

  ts5SxE9jKU6l   2023年11月01日   56   0   0 Java

流程控制 用户交互Scanner Scanner类可以实现计算机与人的交互。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。 Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 next&nextLine 使用next方式接收一下输入的数据: publicstaticvoidmain(String[]args){ //创建一个扫描器对象,用于接收键盘数据 Scannerscanner=newScanner(Sys...

  ts5SxE9jKU6l   2023年11月01日   36   0   0 Java

数组 什么是数组? 数组的定义: 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组的四个基本特点: 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。 其元素必须是相同类型,不允许出现混合类型。 数组中的元素可以是任何数据类型,包括基本类型和引用类型。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。 数组...

  ts5SxE9jKU6l   2023年11月01日   94   0   0 Java

方法 什么是方法? Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。 方法的定义 修饰符返回值类型方法名(参数类型参数名){ ...方法体... return返回值; } 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。 返回值类型:方法可能会返回值。returnValueType是方法返回值的...

  ts5SxE9jKU6l   2023年11月01日   35   0   0 Java

第一章初识Spring 1.1Spring简介 Spring是一个为简化企业级开发而生的开源框架。 Spring是一个IOC(DI)和AOP容器框架。 IOC全称:InversionofControl【控制反转】 将对象【万物皆对象】控制权交个Spring DI全称:(DependencyInjection):依赖注入 AOP全称:Aspect-OrientedProgramming,面向切面编程 官网:https://spring.io/ 1.2搭建Spring框架步骤 导入jar包<!--导入spring-context--> <dependency> &...

  ts5SxE9jKU6l   2023年11月01日   36   0   0 Java

Maven 第一章为什么使用Maven 获取jar包 使用Maven之前,自行在网络中下载jar包,效率较低。如【谷歌、百度、CSDN....】 使用Maven之后,统一在一个地址下载资源jar包【阿里云镜像服务器等...】 添加jar包 使用Maven之前,将jar复制到项目工程中,jar包添加到项目中,相对浪费存储空间 使用Maven之后,jar包统一存储Maven本地仓库,使用坐标方式将jar包从仓库引入到项目中 使用Maven便于解决jar包冲突及依赖问题 第二章什么是Maven Maven字面意:专家、内行 Maven是一款自动化构建工具,专注服务于Java平台的...

  ts5SxE9jKU6l   2023年11月01日   39   0   0 Java

第一章初识Mybatis 1.1框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架:持久化层框架【dao层】 SpringMVC框架:控制层框架【Servlet层】 Spring框架:全能... 1.2Mybatis简介 Mybatis是一个半自动化持久化层ORM框架 ORM:ObjectRelationalMapping【对象关系映射】 将Java中的对象与数据库中表建议映射关系,优势:操作Java中的对象,就可以影响数据库中表的数据 Mybatis与Hibernate对比 Mybatis是一个半自动化【需要手写SQL】 Hiber...

  ts5SxE9jKU6l   2023年11月01日   77   0   0 Java

第一章初识SpringMVC 1.1SpringMVC概述 SpringMVC是Spring子框架 SpringMVC是Spring为【展现层|表示层|表述层|控制层】提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架。 SpringMVC是非侵入式:可以使用注解让普通java对象,作为请求处理器【Controller】。 SpringMVC是用来代替Servlet Servlet作用 1.处理请求 将数据共享到域中 2.做出响应 跳转页面【视图】 1.2SpringMVC处理请求原理简图 请求 DispatcherServlet【前端控制器】 将请求交给Con...

  ts5SxE9jKU6l   2023年11月01日   63   0   0 Java

一.SpringBoot  1.1SpringBoot概述 1.1.1什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework同属于spring的产品: 其最主要作用就是帮助开发人员快速的构建庞大的spring项目,并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让开发人员关注业务而非配置。 主要特点: 自动配置:不需要再关注各个框架的整合配置,springboot全部已经配置好了 起步依赖:我们在需要使用某个框架的时候,直接添加这个框架的启动器依赖即可,不需要在关注jar包的冲突和整合 设计目的:...

  ts5SxE9jKU6l   2023年11月01日   100   0   0 Java

系列内容 elasticsearch概述 elasticsearch安装 elasticsearch查询 客户端api使用 1.elasticsearch概述 1.1简介 官网:https://www.elastic.co/ Elasticsearch(简称ES)是一个分布式、RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 查询和分析 可以自定义搜索方式:通过Elasticsearch,您能够执行及合并多种类型的搜索(结构化数据、非结构化数据、地理位置、指标),搜索方式随心而变。先从一个简单的问题出发,试试看能够从中发现些什么。 分析大规模数据:找到与查询最匹配...

  ts5SxE9jKU6l   2023年11月01日   36   0   0 Java

力扣01求两数之和 题目: 给定一个整数数组,返回两个数字的索引,使它们加起来为一个特定的目标。 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用同一个元素。 示例: Givennums=[2,7,11,15],target=9, Becausenums[0]+nums[1]=2+7=9, return[0,1] 注:题目大意就是在给定的一个数组中找到两个数组元素之和为给定的target并且返回这两个数组元素在数组中的下标。 解法一:暴力求解 解题思路: 依次固定数组的第一个元素,并开始遍历数组(从固定元素的下一个元素开始)看其他元素与固定元素加起来是否等于target若等于...

  ts5SxE9jKU6l   2023年11月01日   84   0   0 算法与数据结构

力扣02两数相加 题目: 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字0之外,这两个数都不会以0开头。 示例: 2→4→3 5→6→4 结果:7→0→8 输入:L1=[2,4,3] ​L2=[5,6,4] 输出:L=[7,0,8] 注:因为4+6=10个位是0十位是1所以要向前进1 解法一:迭代法 解题思路: 定义一个变量为total用来存储两个数字相加的和,定义一个变量为next1用来存储total的十位上的数字也就是需要向前进的数字,可以先建立一个虚...

  ts5SxE9jKU6l   2023年11月01日   58   0   0 算法与数据结构

力扣09判断一个数是否是回文数 题目: 给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121是回文,而123不是。 示例1: 输入:x=121 输出:true 示例2: 输入:x=-121 输出:false 解释:从左向右读,为-121。从右向左读,为121。因此它不是一个回文数。 示例3: 输入:x=10 输出:false 解释:从右向左读,为01。因此它不是一个回文数。 解法一: 解题思路: 可以先将数字转化为字符串类型然后借鉴双指针的思想(左右指针),一个左指针一个右指针分别从两...

  ts5SxE9jKU6l   2023年11月01日   36   0   0 算法与数据结构

力扣13罗马数字转为整数 题目: 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符数值 I1 V5 X10 L50 C100 D500 M1000 例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况: I可以放在V(5)和X(10)的左边,来表示4和9。 X可以放在L(50)和C(100)的左边,来...

  ts5SxE9jKU6l   2023年11月01日   49   0   0 算法与数据结构

力扣12数字转为罗马数字 题目: 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符数值 I1 V5 X10 L50 C100 D500 M1000 例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况: I可以放在V(5)和X(10)的左边,来表示4和9。 X可以放在L(50)和C(100)的左边,来...

  ts5SxE9jKU6l   2023年11月01日   49   0   0 算法与数据结构

力扣023合并k个排序列表 题目: 给你一个链表数组,每个链表按升序排序。k``lists 将所有链接列表合并为一个排序的链接列表并返回它。 示例1: Input:lists=[[1,4,5],[1,3,4],[2,6]] Output:[1,1,2,3,4,4,5,6] Explanation:Thelinked-listsare: [ 1->4->5, 1->3->4, 2->6 ] mergingthemintoonesortedlist: 1->1->2->3->4->4->5->6 示例2: Input:lis...

  ts5SxE9jKU6l   2023年11月01日   82   0   0 算法与数据结构
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~