自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言回炉重造(枚举,指针,结构体,共用体,位域)

枚举 enum概念为,当有一系列变量需要规则性赋值是,可以使用enum作为一个特殊的数据类型。例如:需要给7个不同的变量分别赋值1到7(mon,tue,wed,thu,fri,sat,sun)在C中可以采用:enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN};默认情况下,第一个变量会被赋值为0,当其中有一个变量被显性赋值时,这个变量后续的变量将依次加一。...

2022-04-05 17:11:08 669

原创 **动态规划之01背包问题与背包问题衍生详解(个人小结思考)**

动态规划之01背包问题与背包问题衍生详解(个人小结思考)01背包问题是背包问题的基础类型,我们都知道对于基础问题的深入理解有助于帮助我们解答相同类型动态规划问题,相当于举一反三。所以这篇文章主要记录我对背包问题的个人理解,解释可能偏口语化。————问题描述: 在一个固定容量 V 的背包中可选择放置物体,物体总个数为 N,每个物体都有重量 Weight 与价值 Value 的属性。 如何选择放置才能找到最优解(得到的总价值最大)。————首先用贪心算法是不可行的,譬如选择 V/W 最大的优先放置,

2022-01-04 18:48:48 490

原创 深入了解java内存释放机制,为什么不用像c一样手动free指针?(阅读文档后的个人总结)

3. 深入了解java内存释放机制,为什么不用像c一样手动free指针?(阅读文档后的个人总结)首先需要了解堆跟栈的概念。栈是一种先进后出数据结构,像是一个封口的瓶子存储数据,而且栈是一种连续的存储结构,而堆不是连续的存储结构,而是一种树状结构,通过指针分辨。堆栈放在一起来指一般程序运行时候的内存,但是实际上,堆栈是不一样的概念。参考http://c.biancheng.net/c/stack/理解:在程序中,栈是先进后出的数据结构,而堆则是一种特殊的完全二叉树,堆是一种经过排序后的树形结构,

2022-01-01 18:56:20 1583

原创 **刷题中感觉比较有意思的东西**

刷题中感觉比较有意思的东西String 类型里可以用 .reverse(),直接反转字符串,在字符串题目比较好用。Set 类 非常好用,在去重的一些题目中:定义可以是: Set s = new HashSet();需要注意,对于一些键对值保存的,如HashSet跟HashMap,要遍历出来需要使用迭代器,使用方法为:Iterator<String> iterator = hashSet.iterator();while (iterator.hasNext()){

2022-01-01 17:24:15 248

原创 HJ8合并表记录(解法以及其中值得思考的细节)

HJ8合并表记录(解法以及其中值得思考的细节)题目描述:数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。例如: 输入: 4 0 1 0 2 1 2 3 4 输出: 0 3 1 2 3 4 首先想到的是用java中的map类保存键对值,但是这个类的一般类是没有排序的作用,且对于内存占用较多。不过后来据查找资料了解到java中Map的子类TreeMap是会自动按照升序排列,如果用上可以少

2022-01-01 16:07:38 1219

原创 对于java的继承,super,this的用法(个人理解)

对于java的继承,super,this的用法?首先需要掌握的是了解java中通过extends 继承一个父类。在继承后,子类可以调用访问父类中所有的public,protected方法及成员变量。在调用时可以显式使用super表示父类。例如父类 A 中有: 方法 M(); 成员变量 V;在子类访问时可以写成super.M(),或者 super.V据了解,java是有子类优先的规则,所以当父类与子类有同名方法或成员变量被调用,当没有显式使用super时,会优先调用子类的方法或成员变量。而如果

2021-12-31 20:11:42 347

原创 内部排序算法中的插入与快排及其优化算法(个人理解不含代码)

内部排序算法1. 插入排序 基础插入排序指的是对于一个有序表,依次将待插入的值插入在有序表的合适位置,从而使得有序。在程序实现中可以先将表第一个值单独当成一个有序表,然后从第二个值开始往后循环,从后往前对比,直到找到合适位置插入,然后将目标位置原值及之后的值全部往后移动。这种排序方式的主要开销用于对比与后移操作。 1.1 插入排序优化 折半插入排序:由于直接插入排序的开销用于对比与后移操作,针对于查找操作,可以采用折半对比的方法,减少对比次数。这种方式被称为折半插入排序。 2-路插入排序:2路插

2021-12-31 18:55:08 478

原创 Java对于赋值,浅拷贝,深拷贝的原理理解以及深入思考

Java对于赋值,浅拷贝,深拷贝的原理理解以及深入思考对于基础数据类型赋值: 至少在java中而言(经过资料查找以及测试),对于基础类型的赋值,例如 int a=3,int b=3,int c=a。 1. 首先a作为基础数据类型而又是局部变量的情况下会保存在常量池(栈中)。(String 类也可以保存在栈中,类似于基础数据类型赋值方式而不用new创建对象实例,例如 String a="aaa";,赋值方式类似以下)。 2. b=3这一步会首先检索常量池中是否已经有了3,如果已经存在3,那么会将指针指

2021-12-30 21:53:07 457

原创 **Java中的抽象类,抽象方法与接口(阅读文档后的个人理解)**

Java中的抽象类,抽象方法与接口(阅读文档后的个人理解)抽象类与抽象方法: 抽象方法以 abstract 声明,并且一个抽象方法只有声明,不能有任何具体的实现。如: abstract void fun(); 而如果一个类中有存在抽象方法,他就必须是抽象类,且必须在类前用 abstract 声明。(如果一个类中有抽象方法,那么这个方法就只能被子类实现,而类方法是包含在类中的,所以有抽象方法,而类不是抽象类就会导致矛盾) 一个抽象类不一定要有抽象方法,但实质上没有抽象方法的抽象类是没有意义的,只能

2021-12-30 19:43:14 162

原创 了解为什么重写equals需要重写hashcode(个人理解)?

了解为什么重写equals需要重写hashcode?对于 a==b ,如果a,b为基本数据类型,那么会进行值对比,否则会进行对对象地址的对比。而在顶级父类 Object中的equals方法返回为 return(o == this),完全就是对比两个对象的地址是否相等来判断两个对象是否相等。而因为对象会被保存在堆内存中,即:即使两个新建对象值完全相同,但地址也一定不同。而常量会被保存在常量池中,在新建一个常量之前,会先判断常量池中是否已经有了相同常量,如果有就把相同常量的地址返回给变量。否则就在常量池中

2021-12-28 21:26:58 137

原创 判断int类型为空(方法以及个人思考)

判断int类型为空方法是:String.valueOf(int).equals("")int作为基础数据类型不能用null来作为判断

2021-12-28 21:13:35 8136

原创 leedcode两数相加的个人理解思考

leedcode两数相加的个人理解思考对于单向链表: 因为单向链表是不可逆的,所以需要考虑指针的所在位置,按照一般逻辑一直往后加会导致无法复原,找不到头指针那么得到的链表也就完全找不到了。保留头部指针是非常关键的。 拆分方法从而复用是很好地习惯,不仅让代码整洁,方便debug,而且可以省去很多写重复代码的时间。 通过浅拷贝可以让工具指针实例去遍历主指针的所有内容,非常好用。解题思路是,首先创建一个初始化的结果指针,然后不动他,在创建一个工具人指针指向结果指针的next,通过对工具人指针的利用,

2021-12-28 20:54:06 560

原创 java中main 方法为什么必须要是 public static void 声明(个人反思理解)

java中main 方法为什么必须要是 public static void 声明(个人反思理解)在资料中找到的是: 1. 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。 2. 因为C和C++同样有类似的main方法作为程序执行的入口。 3. 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。 4. 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调

2021-12-28 20:50:20 1048

原创 LeetCode笔记

用作个人临时的version control。欢迎互相交流

2021-12-28 20:34:11 446

原创 分析及解决:虚拟机无法连接虚拟设备idel 0:1 问题

虚拟机无法连接虚拟设备问题背景解决过程一次性永久解决方式问题背景在学习大数据集群开发的时候,按照要求需要配置多个使用Ubuntu操作系统的虚拟机组合集群:master,slave1,slave2。但在我按照要求配置好三个虚拟机后,出现退出无法再次正常开启虚拟机,只能正常打开master,但对于slave1跟slave2会出现黑屏卡死并且无法关闭,并报“虚拟机无法连接虚拟设备idel 0:1”的错误。解决过程参考的解决文档:无法连接虚拟设备 ide1:0,因为主机上没有相应的设备。您要在每次开启此虚拟

2020-06-10 14:14:54 6304

空空如也

空空如也

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

TA关注的人

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