- 博客(115)
- 资源 (1)
- 收藏
- 关注
原创 背包问题(416,494,474,322,518,139)
一、416. 分割等和子集1.1 题目描述给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。1.2 代码
2022-08-11 12:36:19
310
原创 Hot100(二)
12月2日152. 乘积最大子数组1.暴力以每个值为起点,记录从每个元素开始往后相乘出现的最大值。public static int maxProduct(int[] nums) { int len= nums.length; int max=nums[0]; int cur=nums[0]; for (int i = 0; i < len; i++) { cur=nums[i];
2022-01-14 15:07:00
351
原创 动态规划——路径问题(64,62)、数组区间(303,413)、分割整数(343,279,91)、最长递增子序列(300,646,376)、最长公共子序列(1143
动态规划
2021-06-21 20:54:22
600
原创 动态规划——斐波那契数列(70. 爬楼梯、198. 打家劫舍、213. 打家劫舍II、信件错排、母牛生产)
递归和动态规划都是将原问题拆分成多个子问题然后求解,但是动态规划存储了子问题的解,不需要重复计算.动态规划(Dynamic Programming,DP)需要转移方程和边界条件。目录一、70. 爬楼梯1.1 题目描述1.2 代码二、198. 打家劫舍2.1 题目描述2.2 代码2.2.1 判断条件较多2.2.2 优化(推荐)三、213. 打家劫舍 II3.1 题目描述3.2 代码一、70. 爬楼梯1.1 题目描述假设你正在爬楼梯。需要n阶..
2021-05-09 13:38:02
487
原创 回溯Backtracking(17. 电话号码的字母组合、93. 复原 IP 地址、79. 单词搜索、257. 二叉树的所有路径、47. 全排列 II、77.组合、39、40、216、90、131)
一、17. 电话号码的字母组合1.1 题目描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。(难度中等)给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","..
2021-05-08 11:16:58
898
1
原创 JavaWeb详细
JavaWeb一、基本概念1.1 前言web开发:web,网页的意思 , www.baidu.com静态webhtml,css提供给所有人看的数据始终不会发生变化!动态web淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb;1.2 web应用程序web应用程序:可以提供浏览器访问的程序;a.ht
2021-04-29 15:46:26
158
转载 忘记 mysql 数据库连接密码
忘记 mysql 数据库连接密码 转载地址:https://blog.youkuaiyun.com/weidong_y/article/details/80493743 简单粗暴:直接修改密码。 1.进入 mysql 的 bin 目录下,打开 cmd ,关闭 mysql 数据库。 2.输入 mysqld --skip-grant-t.
2021-04-23 14:10:29
216
原创 BFS(1091. 二进制矩阵中的最短路径、279. 完全平方数、127. 单词接龙)
一、1091. 二进制矩阵中的最短路径1.1 题目描述给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。(难度中等)二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:路径途经的所有单元格都的值都是 0 。路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。畅通路
2021-04-08 16:14:07
488
原创 分治(241. 为运算表达式设计优先级、95. 不同的二叉搜索树 II)
一、241. 为运算表达式设计优先级1.1 题目描述给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。示例1:输入: "2-1-1" 输出: [0, 2] 解释: ((2-1)-1) = 0 (2-(1-1)) = 2示例2:输入: "2*3-4*5" 输出: [-34,...
2021-04-01 21:34:51
231
原创 折半查找(69. x 的平方根、744. 寻找比目标字母大的最小字母、540. 有序数组中的单一元素、278. 第一个错误的版本、153. 寻找旋转排序数组中的最小值、34.查找元素第一和最后位置)
一、69. x 的平方根1.1 题目描述实现int sqrt(int x)函数。(难度简单)计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842...,由于返回类型是整数,小数部分将被舍去。1.2 代码1.2.1 二分法package BinarySearch;/** * @author : lkw...
2021-03-30 17:42:13
821
1
原创 JavaScript(前端体系、数据类型、函数、内部对象、面向对象编程、操作BOM\DOM对象、操作表单、jQuery)
前端知识体系作为一个JAVA后台开发者,要精通JavaScript,因为工作后有时候JavaScript用的要比Java多。想要成为真正的“互联网Java全栈工程师”还有很长的一段路要走,其中前端是绕不开的一门必修课。本阶段课程的主要目的就是带领Java后台程序员认识前端、了解前端、掌握前端,为实现成为“互联网Java全栈工程师”再向前迈进一步。0.1 前端三要素HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容 CSS(表现)
2021-03-30 17:25:21
1693
原创 LeetCode——贪心思想(455. 分发饼干、435. 无重叠区间、452. 用最少数量的箭引爆气球、406. 根据身高重建队列、122|123.买卖股票的最佳时机、605. 种花问题...)
一、455. 分发饼干1.1 题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。(难度:简单)对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入: g = [1,2,3], s = [1,1] ...
2021-03-26 09:57:43
1419
原创 数组的三种比较方式的区别: ==,a.equals(b),和Arrays.equals(a,b)
数组的三种比较的 ==,a.equals(b),和Arrays.equals(a,b)若a,b都为数组,则:a=b ,比较的是地址 a.equals(b) 比较的是地址 Arrays.equals(a, b) 比较的是元素内容原因:int没有定义equals,而Object类中的equals方法是用来比较“地址”的。数组a==数组b,比较的是地址,两个变量的内存地址不一样,也就是说它们指向的对象不 一样。当比较两个字符串的时候,它使用的是String类下的equa..
2021-03-23 15:14:06
5979
原创 LeetCode——排序(215.数组中的第K个最大元素、347.出现频率最多的 k 个元素、451. 根据字符出现频率排序、75. 颜色分类)快排、桶排序
一、215. 数组中的第K个最大元素1.1 题目叙述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。(难度中等)示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。1.2 代码1.2.1暴力+APIpackage Sort;..
2021-03-21 21:40:28
760
原创 CSS(概念、三种导入方式、三种基本选择器、三种高级选择器、字体\文本\超链接伪类\阴影\列表\背景\渐变、盒子模型、浮动、定位、z-index)
一、CSS的简单介绍如何学习CSS是什么 CSS怎么使用(快速入门) CSS选择器(重点+难点) 美化网页(文字、阴影、超链接、列表、渐变...) 盒子模型 浮动 定位 网页动画(特效效果)1.1 什么是CSS?CSS,全称为Cascading Style Sheets,为层叠样式表。CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元.
2021-03-20 17:43:40
769
原创 HTML(概述、W3C、基本\图像\超链接\列表\表格\媒体标签、页面结构分析、iframe内联框架、表单(文本框...)、表单初级验证(placeholder、required、pattern))
一、初始HTML1.1 HTML概述HTML(Hyper Text Markup Language)即超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。1.2 W3CW3CWorld Wide Web Consortium (万维网联盟) 成立于1994年,Web技术领域最权威和具影响力的.
2021-03-16 13:58:40
363
原创 LeetCode——双指针(两数之和\平方和、反转字符串中的元音字母、验证回文字符串、合并两个有序数组、环形链表、字匹配字典最长单词)
一、双指针1.1 167. 两数之和 II - 输入有序数组题目描述给定一个已按照 升序排列的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。...
2021-03-10 21:55:16
862
原创 注解和反射(内置注解、元注解、自定义注解)、反射(Class类、类加载内存分析、分析类初始化、创建类的对象、反射获取泛型\注解信息)
注释(comment)是给人看的,注解(Annotation)是给程序看的。一、注解入门1. 什么是注解?Annotation是从JDK5.0以后引入的新技术,注解就是源代码的元数据,通熟的讲就是代码中的标签。2. Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注解(comment)没什么区别) 可以被其他程序(比如:编译器)读取3. Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnin
2021-03-09 11:16:36
684
原创 网络编程(IP、端口、InetAddress和InetSocketAddress、TCP与UDP、三次握手与四次挥手、URL相关代码)
一、概述1.计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程目的:无限电台、传播交流信息、数据交换、通信......想要达到这个效果需要什么:如何准确的定位网络上的一台主机 (ip地址、端口、定位到这个计算机上的某个资源) 找到了这个主机,如何传输数据?打电话 TCP发短信是 UDP区别:javaweb: 网页编.
2021-03-01 11:39:38
1238
1
原创 JVM入门(位置、体系结构、类加载器、双亲委派机制、沙箱安全机制、Native、PC寄存器、方法区、堆(新生区{伊甸园区、幸存区}、养老区、永久区)、OOM、GC算法、JMM)
目录一、JVM的位置二、JVM的体系结构三、类加载器1.类加载器举例2. JVM中提供了三层的ClassLoader3. 双亲委派机制3.1 工作原理3.2.优点JVM的面试题,看你能答出几个?请你谈谈你对JVM的理解?Java8虚拟机和之前的变化更新? 什么是OOM,什么是StackOverFlowError?怎么分析? JVM的常用调优参数有哪些? 内存快照如何抓取,怎么分析Dump文件? 谈谈JVM中,类加载器的认识?一、JVM的位置JVM是运行
2021-02-24 10:54:55
1790
3
原创 HTML——(表格标签、跨行跨列、商城首页显示、后台系统显示)
目录1.表格标签2.表格的跨行跨列3.商城首页显示4.后台系统显示页面1.表格标签<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--align="center"为表格居中显示 cellspacing为单元格与单元格之间的间距 c
2021-02-03 20:58:56
392
原创 Java_管家婆项目(三十一)——管家婆家庭记账软件(项目环境搭建、功能模块、代码)、后附网盘链接
管家婆家庭记账软件第一章项目介绍1.1 项目安排1.1.1 项目目标本项目为JAVAEE基础班综合项目,包含了若干个知识点,达到将基础班所学知识综合使用,提高了我们对项目的理解与知识点的运用。熟练View层、Service层、Dao层之间的方法相互调用操作、熟练dbutils操作数据库表完成增删改查通过本项目,让我们了解公司项目开发的流程,充分的掌握项目需求分析、设计与功能的代码实现。提高同学们独立分析需求与功能实现的能力。1.2 项目功能...
2021-01-27 15:24:32
4421
3
原创 Java_DBUtils与连接池(三十)——DBUtils(QueryRunner核心类、查询、增删改)、连接池(DBCP连接池)
第一章DBUtils如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils。 DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具。 1.1 概述DBUtils是java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,...
2021-01-26 10:08:21
571
原创 Java_JDBC(二十九)——JDBC(开发步骤、导入jar包、SQL注入问题、JBDC工具类)、properties配置文件
第一章 JDBC1.1JDBC概述JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范。通俗来讲,JDBC屏蔽了各种数据库之间的差异,是Sun公司定义的类或者接口。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC需要连接驱动,驱动是两个设备要进行通信.
2021-01-25 10:51:19
949
原创 Java_数据库MYSQL(二十八)——数据库、Mysql数据库、SQL语句、SQL查询语句、SQL代码演示
目录第一章数据库1.1数据库概述1.2 数据库表1.3 表数据第二章MySql数据库2.1 安装MySql2.2登录MySQL数据库第三章SQL语句3.1SQL语句3.2SQL通用语法3.3数据库操作:database3.4表结构相关语句3.4.1创建表3.4.2主键约束3.4.3查看表3.4.4 删除表3.4.5 修改表结构格式3.4.6插入表记录3.4.7更新表记录3.4.8删除记录3.5...
2021-01-22 15:52:15
313
原创 Java_多线程(二十七)——多线程(线程安全、同步、Lock接口、死锁、等待唤醒机制)
目录第一章多线程1.1 线程安全1.2线程同步(线程安全处理Synchronized)1.2.1同步代码块1.2.2同步方法(建议使用)1.3Lock接口1.4死锁1.5 等待唤醒机制第二章 总结第一章多线程1.1 线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:我们来模拟电影...
2021-01-21 17:29:38
220
原创 Java_多线程(二十六)——多线程(运行原理、主线程、Thread类、创建线程的两种方式)、线程池(Runnable接口run方法、Callable接口call方法)
第一章 多线程1.1多线程介绍进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程。什么是多线程呢?即就是一个程序中有多个线程在同时执行。区别单线程与多线程的不同:单线程...
2021-01-20 11:28:44
310
原创 Java_IO流(二十五)—— Properties类、序列化流与反序列化流、打印流、 commons-IO
第一章Properties类1.1Properties类介绍Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。特点:1、Hashtable的子类,map集合中的方法都可以用。2、该集合没有泛型。键值都是字符串。3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。4、有和流技术相结合的方法。loa...
2021-01-18 11:22:25
223
原创 Java_IO流(二十四)——转换流(字符流与字节流的转换)、缓冲流(字节、字符缓冲流)、流的操作规律
目录第一章转换流1.1OutputStreamWriter类1.2InputStreamReader类1.3转换流和子类区别第二章 缓冲流2.1字节缓冲流2.1.1字节缓冲输出流BufferedOutputStream2.1.2字节缓冲输入流 BufferedInputStream2.1.3 使用基本的流与高效的流完成复制文件2.2字符缓冲流2.2.1 字符缓冲输出流 BufferedWriter2.2.2字符缓冲输入流 BufferedRe...
2021-01-16 15:46:21
1585
原创 Java_IO流(二十三)——字节流( FileOutputStream、文件续写与换行、 IO异常处理、FileInputStream)字符流(字符编码表、FileReader、 flush)
目录第一章 字节流1.1 字节输出流OutputStream1.1.1 FileOutputStream类1.1.2FileOutputStream类写入数据到文件中1.1.3给文件中续写和换行1.1.4IO异常的处理1.2字节输入流InputStream1.2.1FileInputStream类1.2.2FileInputStream类读取数据read方法1.2.3读取数据read(byte[])方法1.3字节流练习1.3.1复制文件...
2021-01-15 22:55:41
625
原创 Java_IO流(二十二)——File类(构造函数、文件\文件夹的创建删除获取、文件过滤器)、递归
目录第一章File类1.1 IO概述1.2File类的出现1.3File类的构造函数1.4文件和文件夹的创建删除等1.5File类的获取1.6listFiles()方法介绍1.7文件过滤器第二章递归2.1 概念2.2 递归打印所有子目录中的文件路径2.3搜索指定目录中的.java文件(含子目录)第三章 总结第一章File类1.1 IO概述当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作...
2021-01-14 16:26:15
298
原创 Java异常处理(二十一)——异常(继承体系、异常产生过程、throw、throws、捕获异常、运行时期异常、异常中常用方法)、自定义
第一章 异常什么是异常?Java代码在运行时期发生的问题就是异常。在Java中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。1.1异常的继承体系在Java中使用Exception类来描述异常。查看API中Exception的描述,Exception 类及其子类是 Throwable 的一种形式,它用来表示java程序中可能会产生的异常,并要求对产生的异常进行合理的异常处理。继续观察,我们可以发现Exception有继.
2021-01-13 17:51:29
460
原创 Java集合框架(二十)——Map接口(常用方法、遍历、Entry键值对对象、自定义类型、静态导入、可变参数、Collections集合工具类、集合嵌套)、模拟斗地主洗牌发牌
第一章Map接口1.1Map接口概述我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。 Collection中的集合称为单列集合,Map中的集合称为双列集合。 需要注意的是,Map中的集合不能包含重复的键,值可以重..
2021-01-12 18:23:50
485
原创 Java集合框架(十九)——List接口(ArrayList、LinkedList)、Set接口(HashSet、LinkedHashSet)、判断集合元素唯一的原理
目录第一章List接口1.1 List接口介绍1.2List接口中常用的方法1.2.1add(Object e)1.2.2remove(Object e)1.2.3 set(int index, Object e)1.2.4get(int index)1.2.5List集合迭代的三种方式1.2.6Iterator的并发修改异常1.3List集合存储数据的结构1.3.1 堆栈1.3.2 队列1.3.3 数组1.3.4 链表...
2021-01-11 16:37:37
433
原创 Java集合框架(十八)——集合(集合方法)、Iterator迭代器(实现原理、转型)、增强for循环、泛型(引入、类\接口、通配符、限定)
第一章 集合集合,集合是java中提供的一种容器,可以用来存储多个数据。 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据 。1.1ArrayList集合ALT+Shift+s:给私有成员变量添加get与set方法(或者右键sourse)。ArrayList集合举例:package day18.demo1;pub..
2021-01-10 14:33:11
181
1
原创 Java常用API(十七)——基本类型包装类(相互转换、自动装箱拆箱)、System类、Math类、Arrays类、大数据运算
目录第一章基本类型包装类1.1基本类型包装类概述1.1.1 8种基本类型对应的包装类1.1.2将字符串转成基本类型1.1.3将基本数值转成字符串1.2基本类型和对象转换1.2.1基本数值---->包装对象1.2.2包装对象---->基本数值1.2.3Integer类的其他方法1.3自动装箱拆箱1.3.1 自动装箱拆箱概念1.3.2 自动装箱(byte常量池)细节的演示第二章System类2.1 概念2.2.1 c...
2021-01-09 18:39:12
245
1
原创 Java常用API(十六)——正则表达式、Date类、DateFormat类、Calendar类
第一章正则表达式1.1正则表达式的概念正则表达式(英语:Regular Expression,在代码中常简写为regex)。正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。1.2正则表达式的匹配规则参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母。我们来学习语法规则。正则表达式的语法规则:字符:x含义:代表...
2021-01-07 17:00:28
345
嵌入式基础
2019-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人