自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试必备!《1000多道互联网Java工程师面试题》分享

这份资料涵盖了丰富的内容,其中包括Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈。其次,这份资料还涵盖了许多流行的开源框架和工具,如MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、Spring、Spring Boot、Spring Cloud等。

2024-02-29 21:10:39 346 1

原创 学习笔记推荐:极客时间《Java常见错误100例》

首先,这套学习笔记囊括了 Java 开发中常见的各种问题和错误,包括并发工具、代码加锁、线程池、HTTP 调用、数据库事务、数据库索引、判等问题、集合类、空值处理、日志、文件 IO、序列化、日期时间、OOM、Java 高级特性以及 Spring 框架等方面。每个方面都是我们在日常开发中经常会遇到的问题,因此这套学习笔记不仅有助于帮助我们理解和解决这些问题,还能够帮助我们提升对 Java 开发的全面理解。链接:https://pan.baidu.com/s/1zYaDYT5RwrZMvafrMT-Vsw。

2024-01-28 22:51:18 522

原创 63页!嵩山版Java开发手册分享

通过遵循统一的代码规范,开发人员可以减少代码审查和维护过程中的错误和困惑,提高团队协作效率。通过合理的异常处理,可以增加代码的健壮性和可靠性,减少潜在的错误和异常情况。它涵盖了代码规范、异常处理、并发编程、日志管理、安全等多个方面,旨在帮助开发人员编写高质量、可维护的Java代码。综上所述,阿里嵩山版Java开发手册是一份必备的指南,旨在提升Java代码的质量和可维护性。遵循该手册的原则和规范,开发人员能够编写出高质量、健壮的Java代码,提高团队协作效率,降低软件开发和维护的成本。

2023-12-31 16:26:30 436

原创 1000多页!LeetCode刷题手册分享

此外,手册还提供了大量的习题和答案,供读者练习和巩固所学内容。而且,每个主题都有配套的习题,读者可以通过解题来加深对知识的理解和运用。除了基础的算法和数据结构外,手册还包含了一些高级主题,如并查集、字典树、最短路径算法等。此外,手册还介绍了一些常见的面试题,并提供了相应的解题思路和代码实现,帮助读者更好地准备面试。它是一本内容全面、易于理解和使用的学习资料,对那些想要提高算法和编程能力的读者来说是一份宝贵的资源。此外,手册还通过使用图表和注释来解释一些复杂的算法和数据结构,进一步提高了可读性。

2023-11-30 21:06:23 504

原创 强劲升级,太极2.x你值得拥有!

如果想浏览更多、更全的内容(图片,音频,各种资源),或想要使用GPT和AI绘画,可以考虑VIP。小站支持更多种类资源的获取(高清影视、教程、游戏等),普通用户支持从天翼小站获取资源,VIP同时支持从阿里小站获取资源,还支持获取在线影视资源。修仙提供了小说阅读功能,左上角可以切换小说源,可以搜索观看网络小说,可以搜索观看近现代小说,甚至古代小说,并且网络小说的更新还比较及时。观看的小说可以调整字体、大小、前景色、背景色、阅读宽度等,也可以添加到书架,下次直接阅读。资源可以查看详情,也可以直接进行资源获取。

2023-10-31 10:49:57 89

原创 codeblocks下载安装教程(完整详细)

最近又将codeblocks下载了一下,将完整的过程记录一下。一、下载教程进入codeblocks官网,http://www.codeblocks.org/点击downloads,一般都会选择第一个Download the binary release(二进制版本)进入之后,会出现很多版本,可以选择自带编译器的版本点击之后选择下载就ok了。二、安装教程选择启动程序,这里保持全选就好选择安装位置,这里如果没有按在默认位置的话,后面编译器也需要更改一下位

2022-02-07 12:44:08 64992 19

原创 对话:快速排序

才辰和小白正在泰山游玩,他们崭新的旅程也从此起航。才辰:小白,会排序算法吗?小白:会啊,我可学过很多种排序算法呢。才辰:是吗,学会哪几种啊?小白:冒泡排序、插入排序、希尔排序,还有归并排序,嘻嘻。才辰:不错嘛,那你知道快速排序吗?小白:快速排序?这个我不知道,很快吗?才辰:哈哈,快速排序的平均时间复杂度也是O(nlogn).我介绍一下它的思想,你可要认真听哦。小白:好的,笔记已经拿出来了。1. 什么是快速排序我们从数组中选择一个元素,将此元素作为中轴元素,然后把数组中小于中轴元素的放.

2020-10-31 16:38:56 149

原创 图解单链表(关于单链表,看这一篇文章就够了)

Hello,小伙伴们大家好,我是才辰,首先祝大家国庆假期快乐!这次会为大家带来链表的专题的讲解,这篇文章是专题系列的第一篇,分享一下最基础最常用的单链表。单向链表是链表中最常用的一种,一个列表节点有两个字段,即数据域和指针域。在单向链表中,指向第一个节点的节点称为“头结点”,最后一个节点的指针域设为null。例如:列表A={1,3,1,4,5,2,1}的单向链表数据结构如下:在Java语言中,声明一个Node节点类的代码如下:class Node{int data;Node next;/

2020-10-01 15:52:35 1371

原创 不可不会的归并排序

Hello,大家好,今天带来的是排序算法系列的归并排序。归并排序很重要,可以说是不可不会啊。那下面直接开始!1 归并排序 简介所谓归并排序,就是将待排序的数组分成两部分,然后对每个部分递归的进行排序,最后将排好序的部分逐一地合并起来成为一个有序序列。通过递归的方式将大的数组一直分割,当数组的大小为1时,此时数组就是有序的,再将两个大小为1的有序数组合并成一个大小为2的数组,再将两个大小为2的数组合并成一个大小为4的数组…直到全部小的数组全部合并起来,此时数组排序完成。2 实例下面以一个数组arr

2020-09-27 09:07:10 112

原创 手把手教你Linux虚拟机安装(超详细)

大家好,我是才辰。前几天由于学习需要,需要安装Linux系统。所以我把这次安装的整个路程记录下来,既能方便自己日后查看,同时也能帮助一些需要的人。这篇文章非常详细,可以说自己安装过程的慢动作演示,只要大家按照步骤来做,应该不会出现什么问题。当然,我自己也不是大佬,对于不同电脑可能出现的不同问题也不是很清楚首先,安装Linux系统要先安装虚拟机。常见的虚拟机有Wmware、VirtualBox两种。听说两种用起来差不多,我安装的是Wmware.Wmware最新版本应该是Wmware15,安装包

2020-09-18 19:26:42 4677 4

原创 原来插入排序、希尔排序是这样的

Hello,小伙伴们,大家好,我是才辰。今天和大家一起学习的是排序算法中的插入排序和希尔排序。为什么把这两个排序放在一起呢?这是因为这两种排序有一定的关联,希尔排序实际上是对插入排序的一种变形。还是老样子,我先总体上介绍一下算法的过程,接着以一个例子分步讲解,最后给出了详细的代码以及相关分析。插入排序插入排序,就和我们平时玩牌是一样的因为你想,我们在打牌的时候,是不是先把手里的牌由小到大排好,然后每摸到一张牌,就依照大小把它放在排在正确的位置。同样,插入排序也是如此。步骤:首先选取数组

2020-09-05 17:49:24 205

原创 十大排序算法--冒泡排序

众所周知,十大排序算法是我们必须掌握的算法。这里我先把十个算法的名称列一下:冒泡排序选择排序插入排序希尔排序归并排序快速排序基数排序堆排序桶排序计数排序因为我想在公众号上建立一个比较完整的知识体系,所以对于比较简单基础的知识我也会写。对于已经学会的小伙伴就当做回顾一下吧。今天整理了一下比较简单的冒泡排序。...

2020-08-30 15:48:20 196

原创 题解《动态规划》(一)

Hello,小伙伴们大家好,这篇文章想和大家一起入门一下动态规划算法。老实说,我感觉动态规划还是很难的,最常见的一种困境就是看答案自己能看明白,但自己想就是想不出来。网上关于动态规划的讲解也有很多,我认为,学会动态规划的关键,就是我们需要形成自己的解题思路,遇见动态规划的题就要知道应该往哪方面去思考。那怎么才能形成自己的解题思路呢?无非就是通过做题+整理 的方式。动态规划是有一定的套路的,掌握的套路之后,可以说大部分题就可以做出来了。这篇文章我先解释一下动态规划的解题步骤,然后重点讲解几个案例,来初

2020-08-30 15:38:33 513

原创 递归与动态规划--青蛙跳台阶

本题重点不是怎么做出来,而是学习如何优化自己的算法。问题一:一只⻘青蛙⼀一次可以跳上1级台阶,也可以跳上2级。求该⻘青蛙跳上⼀一个n级的台阶总共有多少种跳法?动态规划解题的三个步骤:定义dp数组的含义,其中dp数组90%是二维数组,这里问题比较简单,是一维。找出数组元素之间的关系式,即dp[n]是可以用dp[n-1],dp[n-2]…dp[1],来推出dp[n]的找出初始值而对于这个问题。dp[i]的含义为:跳上第I级的台阶共有dp[i]种跳法,这样dp[n]就是所要求的。接下来是找递推

2020-06-26 18:00:43 226

转载 pandas数据处理——Series篇

整理自公众号【TechFlow】,原文链接:https://mp.weixin.qq.com/s/XsDqC5I2MlPMLFBpb79WpQimport pandas as pd //起个别名Series索引在pandas当中我们最常用的数据结构有两个,一个是Series,另外一个是DataFrame。其中series是一维数据结构,可以简单理解成一维数组或者是一维向量。而DataFrame自然就是二维数据结构了,可以理解成表或者是二维数组。Series当中存储的数据主要有两个,一个是一组数据构

2020-06-25 22:05:12 1287

原创 图形化用户界面GUI

一、容器AWT分为两个大类,分别为Component和MenuComponent. 其中MenuComponent是所有与菜单有关组件的父类,Component是其他所有组件的父类。Component分为容器类和基本类。基本类包括按钮、文本框之类的图像界面元素,而容器类则是通过Component的子类Container实例化对象。Container又分为Window类和Panel类。二、Window窗体两个子类分别是Frame和Dialog。FRAME用于创建一个框架窗口,Dialog类用于创建一个

2020-06-25 16:21:33 318

原创 实验一 MATLAB基础

1、利用“:”操作符和 linspace 函数生成数组 a=[0,6,12,18,24,30,36,42],并将数组 a分别转化为 4行2列 和 2行4列 的矩阵a=[0:6:42]linspace(0,42,8)reshape(a,4,2)//4*2reshape(a,2,4)//2*42、在 MATLAB 中输入矩阵A ,并使用 MATLAB 回答以下的问题:(1) 创建一个由 A 中第 2 列到第 4 列所有元素组成的 4Χ3 数组 B ;(2) 创建一个由 A 中第 3 行到第 4

2020-06-25 09:20:35 2226

转载 final关键字

01.final类如果一个类使用了final关键字修饰,那么他就无法被继承,例如很常见的String类就是final类。不过,类是可变的,并不意味着该类的对象是不可变的。public final class Writer { private String name; public String getName() { return name; } public void setName(String name) { this.name

2020-06-11 11:07:50 258

原创 计算机组成原理

程序本身数据是存放在硬盘中的,需要被加载进内存才能被执行,CPU被设计成只能从内存中读取数据,处理完数据再将结果写入内存,然后可持久化到硬盘中。内存和磁盘:首先,在计算机中保存信息的有两类,一类是内部存储器,即我们说的内存,特点是存储信息速度快,但容量不大,而且很重要的一点是一断电就会丢失信息;第二类是外部存储器,就是磁盘,特点是存储的数据不会受到断电的影响,但速度比内存慢很多。接下来是磁盘的分类,主要有硬盘和软盘两类磁盘缓存:磁盘缓存是在内存中,而且这里的磁盘一般是指硬盘。磁盘缓存是指把磁盘..

2020-06-10 12:42:38 140

原创 第七章 流

java中所有的输入、输出,通过流完成。一、I/O流分类1、java流支持的两种类型的数据a. 原始字节b.Unicode字符2、按照读写数据的类型分为:字节流和字符流(1).InputStream所有字节输入流的基类,操作的数据的基本单位为:字节(8bit)基本方法:1.int read()throw IOException2.int read(byte[]buffer)throws IOException3.int read(byte[]buffer,int offset,int

2020-06-09 21:09:47 117

原创 讲课系列——评价政策模型

兴趣小组讲课的一系列截图

2020-06-09 18:11:52 1933

原创 抓住机会,敢于尝试——第一次讲解ppt

今天终于把建模小组老师布置的将论文这一任务完成了,有了一些感悟记录一下。首先,这次任务在放寒假前就布置了,因为不开学的原因我一直迟迟没做(拖延的毛病要改了)。第一次将论文时因为我们正在认证杯建模,请假了,所以将论文的次序没有排我们。这次课是我提醒老师的,安排在了最后面讲解,因为我感觉我的ppt不能白做,而且这是一次提升自己的机会。这也是我第一次做ppt,很感谢WPS里的一个自动美化功能,使我的ppt显得好看一点。现在,起码对做ppt这件事不感到陌生恐惧了。另外,我感觉做ppt是一件很有意思的事情,我也

2020-06-07 22:12:15 421

原创 java在线作业3:容器

一用HashMap模拟一个网上购物车。要求:从键盘输入n本书的名称、单价、购买数量,将这些信息存入一个HashMap,然后将该HashMap作为参数调用方法getSum(HashMap books),该方法用于计算书的总价并返回。【说明:键盘输入可使用Scanner类】...

2020-06-03 22:02:38 273

原创 异常知识点

一、异常处理的基本流程1、程序运行时出现错误2、创建异常对象3、抛出异常对象4、接受并处理二、分类方法1、 分类方法1a. Error:错误,由JVM生成并抛出,如虚拟机错误,程序不做处理(少见)b.Exception:所有异常类的父类(可以处理的错误)2、分类方法2a.未检查(unchecked)异常——包括Error的子类异常和RuntimeException的子类异常——特点:不能由编译器检查,可以通过编程避免,代码中可处理可不处理b.已检查(checked)异常——特点

2020-06-03 21:18:42 181

原创 迭代器

功能:实现对容器的遍历一、Iterator 接口作用:已统一的方式对各种集合元素进行遍历、迭代实现Collection接口的容器类都有一个iterator方法返回一个实现了Iterator接口的对象Iterator中的方法--boolean hasnext()--object next()--void remove()栗子1Collection c=new HashSet();c.add(new student(1,"Tom",60));c.add(new stude

2020-05-31 09:10:21 76

原创 动态规划:最长递增子序列

**先看一个题目**给定一个无序的整数数组,找到其中最长上升子序列的长度实例:输入:[10,9,2,5,3,7,101,18]输出:4解释:最长的上升子序列为[2,3,7,101],长度为4说明:可能会有多种最长上升子序列的和,只需要输出对应长度即可算法的时间复杂度应为O(n2)**问题分析**首先,dp数组的定义如下:dp[i]表示以nums[i]这个数结尾的最长递增子序列的长度。以上面的栗子为例,dp[5]=3,dp[7]=4根据这个定义,最终结果应是dp数组中的最大值

2020-05-30 21:13:14 244

原创 一行代码能写什么

一、心形字符print('\n'.join([''.join([('Python技术'[(x-y)%len('Python技术')] if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))二、九九乘法表print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for

2020-05-28 15:46:41 359

原创 java实验3 学生列表2

昨天上课老师给我们手敲了这个题的代码,本打算用大约半个小时讲完的,却整整用了一节课。获益匪浅,在老师演示的时候由衷感叹,真是思维严密,代码规范,就是真正程序员的感觉!我写把题目和老师完整的代码写上,然后再分析一下里面所涉及的内容。题目编写学生类,包含学号no、姓名name、成绩score,提供必要的构造函数、toString函数和equals/hashcode函数,其中,toString函数的格式为“no:xxx name:xxx score:xxx”,no参与equals和hashcode的计算。在

2020-05-26 22:08:13 1130

原创 参加数学建模比赛小结

今天早晨提交了Mathorcup论文,没有意外的话,这也应该是这学期最后一次参加建模比赛了。先说一下总体的感受,这学期虽然不开学,但建模比赛真的参加的挺多的,先是美赛,接着认证杯第一阶段、泰迪杯、认证杯第二阶段,以及Mathorcup.经过这几次比赛,先不说技术上有没有提升,反正现在已经对建模比赛不恐惧啦,哈哈。从难度上看,感受到国家级的比赛难度真的高于省级比赛。美赛前两天我们都没有找到思路,以至于差点换题。最难受的翻车最厉害的还应该是这次的Mathorcup,我们选择了看上去难度很大的C题,对于这个题

2020-05-25 22:44:03 455

原创 JAVA常用类

1.String不可变的字符序列 private final char value[];a.不可变的原因:不是因为源码中是final类型,而是因为String类里没有setvalue方法。举个栗子:public class Main { public static void main(String[] args) { final char []a= {'t','o','m'}; a[0]='T'; for(int i=0;i<=2;i

2020-05-18 21:42:35 152

转载 java中==与equals的区别

一、“==”在java中,==主要有两个作用:基础数据类型:比较两个的值是否相等,例如两个int类型的变量a、b,比较的是值是否相等引用类型比较:比较的是引用的地址是否相同,举个栗子,两个Stu类型的变量stu1、stu2,比较的是这两个引用所指对象的地址是否相同。二、“equals”1.先看源码,在源码中,equals比较的就是当前对象的引用和obj的引用是否相同,在这里equals和==的效果是一样的。2.重写equals方法例如,String在Object的基础上重写了equals,

2020-05-17 21:45:45 73

原创 最少移动次数使数组元素相等

【题目描述】给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。您可以假设数组的长度最多为10000。例如:输入:[1,2,3]输出:2说明:只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1):[1,2,3] => [2,2,3] => [2,2,2]【题目分析】看了题解之后,发现这是一道...

2020-04-24 20:10:57 1093

原创 numpy创建数组

1、数组的创建import numpy as np;a=np.array([[1,2,3],[4,5,6]])2、查看一个数组的属性a.size #6 数组元素个数 a.shape#(2,3)2行3列a.ndim # 2 2维a.dtype# dtype('int32') 数据类型 3、改变数组的行数和列数a.reshape(3,2) # array([[1,2], ...

2020-04-20 22:50:44 1737

原创 蓝桥杯 高精度加法

问题描述输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)...

2020-04-15 20:01:06 333

原创 绘图基础语法

import matplotlib.pyplot as plt import numpy as npplt.figure(figsize=(4,4)) #画布和大小x=np.arange(10)plt.plot(x,np.sin(x))plt.plot(x,np.cos(x))plt.title('lines') #添加标题plt.legend(['sin','cos']) #添加图...

2020-04-02 15:06:00 193

原创 利用Numpy进行统计分析

一、 数据的保存与查看import numpy as npa=np.random.random((3,3)) 1、以二进制形式保存np.save('./tmp/tmp.npy',a)#将生成的a保存在 当前文件->tmp文件夹,默认以.npy结尾,可不写np.load('./tmp/tmp.npy') #查看保存的数据若要同时保存两组数据,使用savez()函数b=np.ra...

2020-04-02 12:09:12 648

原创 案例|python多项式拟合与线性回归

听课笔记,下面代码是交互式的,不能直接全部运行x=[1,2,3,4,5]y=[4,7,10,13,16]x #显示x,结果为 [1,2,3,4,5]y #显示y,结果为 [4,7,10,13,16]**## 一、画散点图**import matplotlib.pyplot as plt #重命名为plt#第一种画图方式plt.scatter(x,y)#第二种画图方...

2020-04-01 17:35:14 979

原创 图的结构

一、图的存储结构我们知道,数据之间的关系可分为3种,分别是“一对一”、“一对多”、“多对多”,前两种关系可分别用数组和树存储,而多对多的数据结构则需要用图来存储。图是用(V,E)来表示的,其中V是顶点的集合,E是边的集合。对于图的存储,主要有邻接矩阵和邻接表两种结构。二、邻接矩阵邻接矩阵是一个存储着边信息的矩阵,顶点用矩阵下标表示。对于矩阵M,如果M(i,j)=1,则顶点i和顶点j之间存在...

2020-03-28 17:07:41 3821

原创 快慢指针(二)

上篇文章写了快慢指针的前两个应用,这篇文章继续写后面两个应用。判断一个链表是否是回文链表使用快慢指针还可以判断出一个链表是否是回文链表。具体思路是利用快慢指针找到链表中点,后将中点之后的元素逆序,后再于前半部分一一比较即可。如何找到链表中点?我们可以设置fast、slow两个指针,fast指针每次移动两个位置,slow指针每次移动一个位置,当fast指针移到链表最后一个元素时,slow指针就...

2020-03-14 11:09:17 105

原创 快慢指针(一)

原文在微信公众号【星光指南】,期待和你相遇。快慢指针的概念该方法会在一个链表内使用速度不同的两个指针,来解决一些链表中的实际问题。该方法的主要应用场景:判断一个链表中是否含有环若一个链表中含有环,找到环路开始的位置判断一个链表是否是回文链表寻找一组数中的重复数本篇文章先介绍前两个应用。判断一个链表中是否有环判断一个链表中是否有环,可以设置两个指针fast、slow,**fa...

2020-03-11 18:45:57 104

空空如也

空空如也

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

TA关注的人

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