自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 初级算法 | 买卖股票最佳时机

初级算法买卖股票的最佳时机 II题目分析:​ 根据给出的数组和提示发现,第二天如果股票有所下降第一天就不会买入,如果买入就会亏本,如果第三天价格有所上升,则会在第二天才买入,看第四天价格是否有所上升或下降,如果下降,在第三天就要卖出;如果一直上升,则不卖出,上升最大值—开始上升时最小值得出利润。如果价格一直是下降的,则在上升到最大值时卖出后一直不买入。​ 使用for循环遍历数组判断价格是否有所上升,计算各阶段利润总和即可。​ 这种方法也叫贪心算法,贪心算法是指,在对问题求解时,总是做出在当前

2021-06-17 22:04:12 325 1

原创 稀疏矩阵

稀疏矩阵稀疏矩阵的压缩存储稀疏矩阵的概念具有较多零元素且非零元素的分布无规律的矩阵为稀疏矩阵稀疏矩阵的三元组表存储存储方式所有非零元素组成一个三元组表,按行优先顺序,将稀疏矩阵中的非零元素存放在一个有三元组组成的数组中例:5×6的稀疏矩阵如下图所示:其对应的三元组存储表如下图所示:三元组表的基本操作定义稀疏矩阵的三元组结点类定义属性:行号、列号、值定义构造方法:有参、无参public class TripleNode { public int row;

2021-04-18 16:50:43 1380

原创 Android Studio的安装

该网盘PDF文件中包含以下内容1. Android Studio的安装2. 创建Android Studio项目3. 创建Android虚拟机4. Android常见的错误解决方法5. Android Studio的常见配置链接:https://pan.baidu.com/s/1-9RHM2K4kWckHu925cqeXA提取码:p78h复制这段内容后打开百度网盘手机App,操作更方便哦...

2021-04-09 21:16:32 130

原创 打家劫舍『java实现』

题目思路record:错误思路!当数组数量大于2时,只考虑了数组第0,2,4…位置的总和与第1,3,5位置的总和比较。但是,没考虑到如果某几个不相邻的数的和都比这两个和大呢?所以该方法是不可行的。正确思路:动态规划和滑动数组(减少空间复杂度)动态规划基本思想:动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题

2020-09-21 18:32:32 728

原创 数据结构之串的总结

串的基本概念串的定义串是由0个或多个字符组成的有限序列,又叫字符串。空串长度为0的串,不包含任何字符。空白串由一个或多个空白字符组成的串。子串串的任意个连续字符组成的串子序列。子串的位置是以子串在主串中首次出现时的第一个字符在主串中的位置来表示。主串包含子串的串相应的叫主串。串的比较串的比较是通过组成串中的字符之间的编码来进行的,而字符的编码指的是字符在字符集中的序号。通过两串字符的比较,若不等,则返回第一个不相等的字符的数值差。例: compareTo(s

2020-09-01 12:21:09 7513 3

原创 最短无序连续子数组『java实现』

题目解法一:优化的暴力算法基于选择排序算法的基础上,我们可以遍历比较每一个数组元素,找到左边和右边不正确的排序位置,然后通过(L-r+1)得到该数组排序不正确的长度。算法实现class Solution { public int findUnsortedSubarray(int[] nums) { int L = nums.length; int r = 0; for(int i=0;i<nums.length-1;i++){

2020-08-30 23:20:57 310

原创 使用java实现【文件分割】时出现:Exception in thread “main“ java.io.FileNotFoundException: dest (拒绝访问。)解决方法

文章目录RandomAcessFile随机访问文件实现文件分割,将分割后的文件存储到新的文件夹中实现文件分割,使用面向对象思想优化RandomAcessFile随机访问文件String mode解析:除了指定文件以外,还需要指定一个mode参数,该参数指定RandomAccessFile的访问模式,该参数有如下四个值:1、 r: 以只读方式打开指定文件。如果试图对该RandomAccessFile指定的文件执行写入方法则会抛出IOException2 、rw: 以读取、写入方式打开指定文件。如果

2020-08-14 17:59:33 2207

原创 合并两个有序链表『java实现』

题目:解题思想:创建一个有带头结点的新链表,比较L1 与L2的结点值,若L1当前的结点值小于或等于L2当前的结点值,把小的先放进新链表中,然后再比较L1的下一个结点,直至为空。也就是如下的迭代思想了。个人在思想出现误区: 创建新链表,然后比较L1和L2的结点值,若L1<L2的结点值的话,直接把L1 和 L2放进了新的链表中,然后新链表的最后一个结点值 再与L1的下一个结点值比较,但是发现,思考不全面,也没办法实现。官方解答:最终过程:详细过程参考LeetCode官方解答算法实现/

2020-08-11 18:04:22 4076 2

原创 实现strStr:模式串匹配『java实现』

题目:解题方法:看到题目首先想到的是,该题可以使用BF算法KMP算法还有官方解答的方法解法一:BF算法:回溯思路:定义两个指针,一个代表主串位置;一个代表子串位置,两两逐一比较,如果不成功,主串指针回溯,比较下一个,子串回0。直到比较完子串的字符,都相等则返回在主串与子串比较的第一个字符相等时的位置。【代码实现:】class Solution { public int strStr(String haystack, String needle) { in

2020-07-30 17:37:48 107

原创 移除元素『java实现』

题目:思路:根据题目,我们可以用2个变量来分别记录长度和数组上与val元素比较的各个位置。图解:代码:class Solution { public int removeElement(int[] nums, int val) { int i = 0; for(int j = 0;j < nums.length;j++){ if(nums[j] != val){ nums[i] = nums

2020-07-27 00:07:17 170

原创 ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘ for column ‘n 问题怎么解决?

在mysql中,使用insert into语句在数据表中插入数据时,会出现这种问题:ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD’ forcolumn 'n为什么会出现这种问题呢?在window系统中,默认使用的是gbk编码的,称为“国标”。而mysql数据库中,使用的是utf-8来存储数据的。解决方案:找到安装mysql的目录打开my.ini, 找到下面这个地方重新启动mysql即能解决问题!...

2020-07-24 21:14:10 3357

原创 最长公共前缀『java实现』

题目:思路:纵向遍历,从前往后遍历所有字符串的每一列。比较相同列上的字符是否相同,相同继续进行下一列的比较,不同则不属于公共前缀。算法实现:class Solution { public String longestCommonPrefix(String[] strs) { if (strs == null || strs.length == 0) { return ""; } for(int i = 0; i &lt

2020-07-23 23:28:49 823

原创 IO•字节流

文章目录字节流IO的标准步骤字节流IO的标准步骤创建源文件在项目下创建一个名为:abc的文件。里面写入内容:dws选择流选择字节流还是字符流操作选择程序的读入或读出关闭输入或者输出流(也称是释放资源)代码实现:package com.test.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import jav

2020-07-23 00:47:15 89

原创 罗马数字转整数『java实现』

题目:解法一思路:先把罗马数字转化为整数判断条件:正常:罗马数字中小的数字在右边,则直接做加法运算。特例:罗马数字中大的数字若在右边的话,则需做减法运算。所以,通过遍历往后看一位,判断是做加法运算还是减法运算。class Solution { public int romanToInt(String s) { int sum = 0; int pre = getValue(s.charAt(0)); for(int i=1; i&lt

2020-07-22 20:34:37 554

原创 MySql安装、启动与停止、进入与退出操作步骤

初学MySql,记录安装MySql的过程。MySql安装包下载地址:https://dev.mysql.com/downloads/mysql/MySql的版本有很多:本人下载的是5.5.15版本。如果你想下载其它版本,可自行选择。本人下载的是MSI Installer软件包格式。如果你下载的是zip格式,可自行尝试寻找教程安装。mysql安装步骤下载完之后运行,开始的步骤直接点next,到达下面步骤:注:可根据自行的选择更改存储目录,如果不想装在c盘,可点击browse更改在其它

2020-07-14 18:50:54 709

转载 面试官:“ArrayList集合默认长度是多少?”

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《探究ArrayList为什么查询快、增删慢,实现add方法底层原理详解》, 一起来围观吧 https://blog.csdn.net/weixin_44170221/article/details/104661133

2020-06-21 15:15:23 1161

原创 数据结构之栈与队列总结

栈与队列对比1. 栈什么是栈呢?小时候我们玩过玩具枪就知道,栈就是类似于枪的弹夹,每装入一颗子弹,子弹就会往弹夹底部下去,但当你打子弹出来的时候发现,是从你最后放入弹夹的子弹开始打出的。还有网页的后退、word、ps中的“撤销”操作都运用了栈实现。栈的定义栈是限定仅在表尾进行插入和删除的线性表。有先进后出的特点。特征允许插入和删除的一端叫栈顶(top),另一端叫栈底。插入叫压栈或入栈,删除叫出栈。2. 队列什么叫队列呢?生活中类似于我们排队打饭,在前面的打完饭就先走,其他人在后面依次排队

2020-06-21 15:11:47 827

原创 容器•ArrayList学习

文章目录容器ArrayList的特点手工实现ArrayList容器数组也是一种容器,但是容器更加灵活、更加强大,它的容量是随时可扩的。层次结构图【注:图片来源:尚学堂】set、List继承collection;实现set接口:Hashset;实现List接口:ArrayList、LinkedList;实现Map接口:HashMap。ArrayList的特点List是有序、可重复的容器List接口的实现类有:ArrayList、LinkedList和vectorArrayList

2020-06-14 18:38:06 107

原创 学生成绩管理系统【顺序表的应用】

练习:编写学生成绩管理系统。此系统具有查询、修改、删除等方法。此题采用顺序存储结构。应用知识点:应用到了线性表的顺序存储结构:所谓顺序表就是顺序存储的线性表。顺序存储是用一组练习的存储单元一次存放线性表中各个元素数据的存储结构。实现步骤:首先创建线性表的顺序存储结构,因为学生成绩管理系统需要使用到。创建线性表顺序存储结构的接口```javapublic interface IList { //置空 public void clear(); //判段线性表是否为空 public

2020-05-31 19:14:17 4537

原创 哈希表查找---------处理冲突的方法

1、哈希函数的定义对于一些查找表来说,它的查找过程是:为给定值按某种顺序和记录集合中各个关键字进行比较的一个过程。这类查找表的平均查找长度都是不为0的。所以,对于查找表,希望ASL(平均查找长度) = 0。只有预先知道所查找的关键字在表中的位置,即要求:记录在表中的位置和其关键字存在一种确定的关系。关键字(key) ----H------>记录在表中位置记录在表中的位置为关键字的某个函数值 H(key) ,通常称这个函数 H(key) 为哈希函数。2、哈希表的定义哈希表定义:根据设定

2020-05-27 11:29:20 2231

原创 java核心技术卷一、二---------免费、永久有效!

java核心技术卷一、二是学习java比较好的书,曾在多位博主中有多次被推荐!此书值得我们大家一看,加油!java核心技术卷一:链接:https://pan.baidu.com/s/1CyJNJRElM9jbm_aOUG7qew提取码: hy4gjava核心技术卷二:链接:https://pan.baidu.com/s/1C5zh-tX-I0mTOZcC4Qo8Tw提取码: ps6n注:此书为原书第8版,使用版本:java se 6。但现在好像已经出版到第11版了,大家也可以去其它

2020-05-24 10:57:35 5414 1

原创 Java Scanner类中next()与nextLine()区别”

Scanner类scanner是一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。scanner类中的方法可以参考API文档中文版免费下载地址:jdk 1.8 api文档中文版下载英文版官网在线地址:jdk 8 api英文版在线阅读next与nextLine方法Scanner类中录入String类型的方法:next():读取到空白符、制表符(\t) 、换行(\n)或enter键等结束符就会被next()方法过滤掉。只能扫描到出现结束符前的字符。nextLine():扫描一整行

2020-05-24 10:45:12 357

原创 KMP算法——好牛不吃回头草

KMP算法在朴素算法中,它的算法思想就是:用T串字符依次与S串字符比较,是带回溯的算法。KMP算法是不带回溯的算法,避免了重复遍历的情况,大大提高了效率。实例讲解:例1:若主串为:S = “abcdefgab”、匹配串为:T = “abcdex”使用朴素算法的话,前5个字母相等,“f”与“x”不等,则主串中的变量 i 需要不断回溯比较,如图所示:...

2020-05-18 11:57:26 1142

原创 java重写toString()方法

前言:在你兴高采烈的写完一个类,创建测试类时,创建对象,传入参数,调用对象,以为会得到参数值,但突然发现输出的是“ 类名@什么东东?(其实是散列码,也是16进制的哈希值哈)”,反复检查代码,但不知怎么修改。我不知道你们有没有这种情况发生,但是我经常就有,原因当然是因为不习惯重写toString方法和基础知识还不足导致的啦。还是要加油呀!所以记录一下学习的toString()方法。1.1 在Object类中有一个重要的方法:toString()方法。作用:用于返回表示对象值的字符串1.2 为啥要重写t

2020-05-09 19:36:01 8313

原创 递归算法----“自己调用自己”

声明:根据观看【北京尚学堂高淇】视频整理!递归算法递归的基本思想就是“自己调用自己”。递归算法可以决解决复杂问题,如:斐波那契数列的计算、汉诺塔、快排等问题【实例 测试递归】public class TestRecursion { static void a() { System.out.println("a"); a(); //调用自身方法 } public sta...

2020-04-29 21:45:27 6054

原创 顺序栈实例应用【分隔符匹配问题】

文章目录分隔符有哪些?怎么算匹配成功?分隔符匹配算法实现分隔符有哪些?分隔符的匹配是任意编译器的一部分, 若分隔符不匹配,则程序不可能正确。Java程序中有以下分隔符: “(”和“)”、“{”和"}"、"[“和 “]” 及注释”/"和 "/"。怎么算匹配成功?首先知道栈是先进后出的特点 学会运用栈的入栈和出栈的操作,进行对分隔符的处理。例如:假设在表达式中([]())或[([ ]...

2020-04-19 12:07:37 411

原创 时间日期类

声明: 此笔记本人通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录时间日期类(Date类)DateFormat类与SimpleDateFormat类时间日期类(Date类)在计算机世界,我们把1970年1月1日00:00:00 定为基准时间。比起Date类,推荐使用功能更加强大的Calender类。D...

2020-04-12 23:08:32 207

原创 【Java→包装类】懒惰的小黑笔记12(小白一名,请大家多指点)

声明: 此笔记本人通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录8.1 包装类8.2 包装类—自动装箱和拆箱8.1 包装类JAVA是面向对象的语言,但是我们经常用的基本数据类型就不是对象。但是我们经常需要将基本数据类型转化为对象。为了解决这个问题,JAVA在设计类时为每个基本数据类型设计了一个对应的类...

2020-03-24 23:44:42 103

原创 【Java→抽象类与接口】懒惰的小黑笔记11(小白一名,请大家多指点)

声明: 此笔记本人通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录7.1 抽象类与抽象方法7.2 接口7.2.1 接口的定义与实现7.2.2 接口的继承7.1 抽象类与抽象方法类的设计即为一个抽象的过程。在设计类的时候会出现这样的一种情况,希望某个类具有某些功能,但目前无法进行具体的实现。这是java提供...

2020-03-20 21:30:28 155

原创 【Java→可变字符串StringBuilder与StringBuffer】懒惰的小黑笔记10(小白一名,请大家多指点)

声明: 此笔记通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录可变字符串StringBuilder与StringBufferStringBuilder与StringBuffer用法可变字符串和不可变字符串的使用陷阱可变字符串StringBuilder与StringBuffer在StringBuffer和S...

2020-03-16 23:29:07 125

原创 【Java→不可变字符串String】懒惰的小黑笔记09(小白一名,请大家多指点)

声明: 此笔记通过观看【尚学堂】+(赖小平主编)清华大学出版社的《Java程序设计》感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录字符串6.6不可变字符串6.6.1 String类6.6.2 String类的常用方法字符串6.6不可变字符串字符串是字符的序列,使用最多的就是String类,它是不变的字符串,也称字符串常量。此外,还有可变字符串类StringBuffer和...

2020-03-15 18:25:42 171

原创 【Java→冒泡排序与二分法查找】懒惰的小黑笔记08(小白一名,请大家多指点)

声明: 此笔记通过观看【尚学堂】感悟整理得出, 若有任何相关问题,请注明来源联系作者!文章目录6.4 冒泡排序的基础算法6.4.1 冒泡排序优化算法6.5二分法查找(折半检索)6.4 冒泡排序的基础算法冒泡排序是常用的排序算法,笔试中非常常见。算法重复地走访过排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换,使越大的元素会经有交换慢慢“冒泡”到顶端。步骤:1、先比较开...

2020-03-10 21:58:39 1240 7

原创 【Java→二维数组、杨辉三角】懒惰的小黑笔记07(小白一名,请大家多指点)

文章目录6.2 二维数组6.2.1 二维数组的使用(杨辉三角)6.2 二维数组声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出, 若有抄袭,请注明来源联系作者!多维数组可以看成以数组为元素的数组。在实际开发中,最多用到二维数组(学习容器后,使用容器,二维数组较少用)。二维数组的元素布局成平面状,对应二维坐标。声明与分配内存格式:元素类型...

2020-03-05 23:41:40 334

原创 【Java→一维数组(拷贝、删除、扩容)、Arrays工具类使用】懒惰的小黑笔记06(小白一名,请大家多指点)

一维数组(拷贝、删除、扩容)、Arrays工具类使用声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出, 若有抄袭,请注明来源联系作者!6.1.5 一维数组的拷贝__删除与扩容System类中也包含了一个static void arraycopy(object src,int srcpos,objectdest,int destpos,in...

2020-02-29 22:42:01 289

原创 飞机小游戏(出现异常过!已解决!)

飞机小游戏声明:模仿【尚学堂】制作的飞机小游戏所需图片【背景图】【飞机图】【爆炸图】主窗口类package cn.gdlgxy.game03;/** * 创建图形注窗口 */import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;...

2020-02-24 23:05:59 2102 4

原创 【Java→一维数组、for-each循环】懒惰的小黑笔记05(小白一名,请大家多指点)

第六章 数组声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出, 若有抄袭,请注明来源联系作者!6.1数组的概念数组(array)是一种用一个名字来标识一组有序且类型相同的数据组成的派生数据类型,它占有一片连串的内存空间。特征:1、 类型相同2、 java数组元素的位置用方括号中的序号表示,称为下标,下标都以0起始。3、 数组类型可以是...

2020-02-24 18:43:31 400

原创 【Java类的继承与多态→多态性,对象的转型】懒惰的小黑笔记04(小白一名,请大家多指点)

5.3多态性声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出, 若有抄袭,请注明来源联系作者!多态(polymorphism):多种形态多态指的是同一个方法调用,由于对象不同可能会有不同的行为。例如:猫、狗是动物,但它们有不同的形态,狗的叫声:旺旺旺,猫的叫声是:喵喵喵~在面向对象的程序设计中,多态性主要表现为类声明的变量可指向多种不同的对...

2020-02-20 22:58:22 315

原创 【Java类的继承与多态→封装】懒惰的小黑笔记03(小白一名,请大家多指点)

5.2封装的作用与含义声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出,若有抄袭请联系作者!程序设计要求:“高内聚,低耦合”高内聚就是类的内部数据细节由我们自己完成,不予许外部干涉。低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。【类的封装】封装是面向对象的三大特征之一(封装、继承、多态),是指信息与实现细节的隐藏。一般来说...

2020-02-18 18:35:55 168

原创 【Java类的继承与多态→继承】懒惰的小黑笔记02(小白一名,请大家多指点)

第五章Java类的继承与多态此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》整理得出5.1类的继承继承与派生是互逆关系。继承的解析:例如动物类的派生是鸟类、鱼类等,反过来,鸟类、鱼类是动物类的继承。子类可以继承父类的属性和方法,还可以添加一些新的属性和方法。虽然说可以继承父类的属性跟方法,但是有些属性跟方法不能被使用(要看属性跟方法的访问修饰符)【语法格...

2020-02-14 18:47:55 288

原创 【Java面向对象→类和对象 】懒惰的小黑笔记01(小白一名,请大家多指点)

第四章 Java面向对象14.1对象和类的概念类的概念:类是具有相同特征(属性)和相同行为(方法)的事物的描述。类是一个抽象的概念,类似于造船、造车的设计图纸。例如:设计一个人类。人类有共同同的属性:姓名、性别、年龄、身高、体重。类只是描述特征的结构和类型,不指定具体值。除了描述一类事物的特征外,还包含该事物共有的功能(行为)。如:人可以说话、吃东西、走路、睡觉。对象的概念:对象...

2020-02-12 14:11:28 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除