自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaSE知识点总结(持续更新,欢迎指正)

持续更新,欢迎指正~基础jvm,jdk,jre1.字节码.class文件,相对二进制文件是一种中间文件,只能在虚拟机上运行,也是java可移植性的由来。2.jvmJava 虚拟机(JVM)是运行 Java 字节码的虚拟机,会把字节码变成二进制机器码。JVM 有针对不同系统的特定实现(Windows,Linux,macOS)。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。3.jdk和jre:顾名思义,jdk为工具,javac命令等。jre为运行环境j

2020-05-18 21:01:27 1900

原创 二叉树题型思考总结

题目很容易,写这篇博客是为了记录一下写递归函数的技巧首先如果发现该题的遍历顺序应该为:先序遍历,自底向下返回子树高度。那么易解class Solution { public boolean isBalanced(TreeNode root) { return recur(root) != -1; } //函数作用:求子树高度 priv...

2020-05-01 18:23:55 332

原创 leetcode17. 电话号码的字母组合(回溯)

经典的回溯问题,大体框架如下depth = 0result = []public void backtrack(路径, 选择列表,depth): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表,depth+1...

2020-04-28 18:55:57 189

原创 leetcode面试题 08.11. 硬币(完全背包,动态规划)

代码如下class Solution { public int waysToChange(int n) { int[] dp = new int[n + 1]; int[] coins = new int[]{1,5,10,25}; dp[0]=1; /** * ...

2020-04-24 17:15:15 244

原创 从leetcode1. 两数之和循序渐进(双指针,BST,哈希表)

leetcode1. 两数之和1.之前只知道堆排序那种标志数组,所以看到第一眼就想到那个方面去了。但在本题数组里面存储某个数出现的次数对该题是没有意义的,应该存储某个数出现的位置。2.哈希表是优化遍历数组寻找某个数的很好方法,看情况需要改数的值还是位置决定其中的value是什么class Solution { public int[] twoSum(int[] nums, int ...

2020-04-16 17:42:47 163

原创 leetcode找出数组中重复的数字

class Solution { public int findRepeatNumber(int[] nums) { int flag[]=new int[nums.length]; for(int i:nums){ flag[i]=flag[i]+1; } for(int j=0;j<flag....

2020-04-04 11:56:17 421 1

原创 javaWeb基础七天内容笔记汇总

今日内容:1. web相关概念回顾2. web服务器软件:Tomcat3. Servlet入门学习web相关概念回顾软件架构C/S:客户端/服务器端B/S:浏览器/服务器端资源分类静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析如:html,css,JavaScript动态资源:每个用户访问相同资源后,得到的结果可能不...

2020-01-31 21:57:38 865

原创 系统级I/O入门

本文内容是csapp一书第十章的笔记和代码讲解10.1Unix I/O首先来讲一讲一句经典的语录:一切皆文件在 Linux 中,这是一句很经典的话,自然我们所有的I/O设备也都是文件,而所有的输入和输出都被当作对相应的文件的读和写,不得说这是真是很优雅的方式。而Unix I/O是什么呢?我们都知道printf和scanf,他们是ANSI C提供的标准I/O库,可以这么说他们是比较高层的...

2019-12-04 19:46:27 121

原创 fork习题补充

这篇博客为之前的哪篇18题补充一些fork题型1.和缓存结合#include "csapp.h"/* $begin waitprob3 */int main() { if (fork() == 0) { printf("a"); exit(0); } else { printf("b"); waitpid(-1, NULL, 0); } ...

2019-11-22 16:38:24 174

原创 从易到难fork18题

本文旨在给大家分享一些稍有难度的fork练习题,篇幅有限所以对基础知识介绍较少且略过了一些简单题,大家可以先看别的了解概念和基础知识。/* * forks.c - Examples of Unix process control */#include <stdlib.h>#include <stdio.h>#include <unistd.h>#i...

2019-11-09 16:48:16 270

原创 链接之符号解析

之前写过一篇博客讲述了链接的来由:https://mp.csdn.net/mdeditor/102058918#这篇博客则打算讲讲链接的核心工作:符号解析和重定位。看这篇博客之前可能需要一点基础,大家可以先看看我上面的链接的文章,再来看这篇。1.符号解析...

2019-11-02 20:10:54 723

转载 理解class.forname

理解 Class.forName()Class 类概念Class 也是一个 Java 类,保存的是与之对应 Java 类的 meta信息(元信息),用来描述这个类的结构,比如描述一个类有哪些成员,有哪些方法等,一般在反射中使用。详细解释:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字...

2019-10-31 21:50:11 174

原创 可重定位目标文件解析

本文章旨在解析ELF文件类型中的可重定位文件,ELF类型还有剩余的两个可执行文件和共享目标文件日后更新。文章使用的例程如下,最简单的hello.c#include <stdio.h>int main(){ printf("hello, world\n"); return 0;}首先我们先生成可重定位目标文件gcc -c hello.c...

2019-10-04 17:44:43 819

原创 链接之从盘古开天辟地说起

学习链接,我们应先思考链接起源,才能知其所以然。我们回到最古老的时代,程序员使用01编写程序,跳转指令的例子如下0010代表jmp指令 0101代表跳转位置 所以1跳转到5我们做一个假设 要是要在5的前面加一条指令程序(这就像我们在一行代码前加一行代码,太常见了)会怎么样呢?我们发现程序需要重定位(即jmp指令跳转位置重定位),因为5的位置改变了。这实在是太麻烦了,那时程序还是打字带,这样的...

2019-10-04 11:30:45 289

原创 pat 1011 A+B 和 C的两种解法(大数问题)

第一种直接用double,因为double有64位,题目所给区间没有问题#include <stdio.h>int main(){ int T; int i=1; double a,b,c; scanf("%d",&T); while(T--) { scanf("%lf %lf %lf",&a,&b,&c); i...

2019-07-24 19:54:28 118

原创 对于python中self和__init__的简明的理解

self和__init__的语法学过python的都清楚,但是怎样理解它们而不去死记硬背值得说道一下。self的理解Python中为何要有self呢?因为在定义类时,我们需要东西去指定这个类所创建的对象,这样才能调用一系列的方法。而在定义类时,我们是没有对象的,类都还在定义中哪里去创建对象,所以这时我们规定统一用一个self来指定类的实例,这样我们就才能定义一些类的方法。下面是个简单的例子:...

2019-07-22 09:36:59 223

转载 scanf,gets,getchar关于对Space、Enter、Tab的处理

作者:keneyr来源:CSDN原文:https://blog.csdn.net/keneyr/article/details/50821595

2019-06-23 10:47:29 160

原创 hdu1176(二维dp思路讲解)(详细注释)

没听说过二维dp前根本想不出来啊!!!!下面附上老师结合本题对二维dp讲解:通常而言,如果用1个整数状态的方程 写不出来,就用2个整数,也就是升维•2个写不出来,就用3个,以此类推•但是升维会严重消耗时空,通常需要 结合数据范围来进行判定:•到底是应该升维还是需要寻找更巧妙 的状态表示与规划目标•在接馅饼这道题中,馅饼的数量显然 与位置也有关•因此这道题的状态要用2个数表示,目 标记...

2019-06-05 22:16:17 260

原创 hdu1969(二分思想灵活应用)(附带详细思路)

二分思想不仅仅用于二分查找哦,本题感觉难在理解题意。需要注意的是,**饼的所以饼的体积取值应该是0到max间任意值,因为蛋糕不能拼凑可以多余,深入的想想就知道分到蛋糕最大的情况应该是找到一个极值,然后部分蛋糕根本不需要用上,部分蛋糕会有多余。想到这个后这个体积极值就顺利成章要用二分求了,因为没有具体的元素个数,耿直的顺序查找来求极值的方法用不了的。**我一开始是想枚举所有将蛋糕完整分给每个人的情况...

2019-06-05 22:02:40 889

原创 hdu1789(贪心,注释详解)

当时wa很多次,虽然现在看起来错的很菜hhhh#include <iostream>#include <stdio.h>#include <algorithm>/*这个小破题最后还wa了一次 以后要记得把每个变量定义时就初始化,acm经常有多个test每次不初始化很易错 */using namespace std;typedef struct hom...

2019-06-05 21:48:06 456

原创 poj3262(比例贪心)(需要简化时间复杂度)

贪心感觉是个不难的算法,这题一开始超时了,简化下就好#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;struct cow{ int T; int D;};int comp(struct cow a,struct cow b)...

2019-06-05 21:46:24 679 1

原创 hdu2041(简单dp)(dp基本思路讲解入门)

#include<stdio.h>/*•动态规划最重要的5条: •状态及其表示 •规划目标 •规划方程(重点中的重点)!!!! 一般用递归思想去考虑,当然不用递归实现!!!!!正如第13行的注释:如果知道Dj(j<i),能不能求得Di? •边界条件 •代码实现*/int main(){ int d[41]={0}; d[1]=0;d...

2019-06-05 21:38:35 184

原创 hdu1016(基础dfs和打表的应用)

基础dfs ,用打表法避免了素数判断程序#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;int prime[40]={0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0...

2019-06-05 21:36:38 597

原创 hdu1372(详细注释加bfs模板)

这题是第一次当时接触bfs,按照板子写的,好像记得没什么坑。板子如下#include <iostream>#include <queue>#include <string.h>#include <stdio.h>using namespace std;int step;char s1[3],s2[3];//C语言用字符数组表示字符串...

2019-06-05 21:17:31 231

原创 hdu2553(详细注释加dfs模板)

这题好像是第一次接触dfs,所以注释很详细hhh就不多说了。/*本题要打表记录每种可能,不然每dfs一次算一次会超时,打表法应用*/#include <iostream>#include <stdio.h>#include <cstring>//memset函数头文件#include <cmath>const int maxn = 11;...

2019-06-05 21:04:18 132

原创 hdu1010(dfs剪枝)

培训acm时刷的题,最近复习下。题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1010`基础的dfs加剪枝,但是因为没有处理换行符,wa了好多次,我恨。具体如下图,当用二重循环一个个输入char型一定要注意换行符,为啥我这里说了“当用二重循环一个个输入char型”这个限定条件,详情可见我往期博客https://blog.csdn.net/weix...

2019-06-05 21:01:57 173

原创 《算法笔记》读书笔记之3.4日期差值-codeup1928(思路详解)

题目描述:有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出:每组数据输出一行,即日期差值样例输入:2013010120130105样例输出:5一开始想当然将日期当作整型相减,但因为闰年存在否决了,所以想了想加点判断行不行呢?其实也不行,不仅多个判断闰年工作量,而且...

2019-06-02 22:30:40 172

转载 linux系统找不到共享文件夹

找不到的情况其实有很多种,这里提供一下我遇到的情况的解决方案。我遇到的情况是:每次重启虚拟机之后需要手动重新去虚拟机设置项里设置共享文件夹即使我在共享文件夹选项里设置了总是启用,依然无效,每次打开虚拟机都要重新 禁用-确定-总是启用-确定,才可在我的linux用户下看到共享文件夹如果你和我情况相同,可以参考这篇文章http://www.voidcn.com/article/p-sjvgncp...

2019-05-26 17:45:41 5227 2

原创 csapp学习笔记(大数吃小数)

#include <stdio.h>#include <stdlib.h>#include <string.h> #define BUFSIZE 256 int main(int argc, char *argv[]) { char prefix[BUFSIZE]; char next[BUFSIZE]; int i; fl...

2019-05-26 17:39:35 2109

原创 csapp学习笔记(变量在内存中的位置)

先贴原理图,变量在内存中的分配如下图stack段:局部变量存放区域。函数中的局部变量都是存放在栈中data段:初始化为非0全局变量和初始化为非0静态局部变量(static)bss段:(未初始化或者初始化为0的) 全局变量和静态局部变量text段:存放代码,only readheap:自己申请的内存区域(malloc和free)下面是例程,这个例程能很清晰地看到各种变量在内存中储存位置...

2019-05-21 19:57:28 352

原创 csapp学习笔记(清晰揭示数在计算机中怎么存储)

先上例程,这是一段csapp上的经典程序,清晰地揭示了数在计算机内是怎么存储的,这里博主自己附上了一些注释,方便大家理解。/* show-bytes - prints byte representation of data *//* $begin show-bytes */#include <stdio.h>/* $end show-bytes */#include <...

2019-05-21 17:48:09 303

原创 csapp学习笔记(数组越界)

一个数组越界引起内存引用错误的经典bug,例程如下#include <stdio.h>#include <stdlib.h>typedef struct { int a[2]; double d;} struct_t;double fun(int i) { volatile struct_t s; s.d = 3.14; ...

2019-05-21 11:09:12 196

原创 希尔排序与快速排序(详细注释)附带csdn代码复制错误的解决方法

(今天意外收获:发现用win10自带浏览器edge在csdn复制代码会出错,换个浏览器就好了)今天竟然刷到了一道用快排超时而希尔不超时的题!https://pintia.cn/problem-sets/14/problems/743感觉自己c++的库函数用多了都快忘了快排怎么了,遂写篇博客回顾一下快排,并学习一下之前没看过的希尔排序。参考博文https://blog.csdn.net/Mor...

2019-05-18 22:15:44 314

转载 大数问题

题目链接https://pintia.cn/problem-sets/14/problems/742原博客链接https://blog.csdn.net/wxx0136/article/details/52458170第一次做大数问题做法大概是通过一个数组来保存大数,每个数组元素只保存一位,注意乘法的模拟!!原链接代码有很详细的注释...

2019-05-11 16:19:41 135

原创 book数组妙用(pta 6-7 统计某类完全平方数)

一道简单算法题,但一开始没想到用book数组,记录下来鞭策自己题目链接https://pintia.cn/problem-sets/14/problems/739book数组:即对每个出现的元素标记,以元素值为下标,在桶排序,dfs,bfs等算法都有所应用int IsTheNumber ( const int N ){ int n=N; if(n<100) ...

2019-05-11 15:38:16 419

原创 x86-64指令系统过程调用学习笔记

x86-64的参数传递方式与返回地址的处理过程中尽量用rax r10 r11,rdi之流用于传参,r12之流要现场保护才能用,因为他们是被调用者保护下面的图片都是例子啦啦啦啦如上图,由参数传递规定,a,&a,b,&b,c,&c在rdi等六个寄存器中保存,而d,&d在栈中保存,且在局部变量的下面如上图,左边粉红色是栈指针的移动,它会自己规划好要腾出多少...

2019-05-04 22:17:59 509

原创 leal 和 movl区别

转自:https://blog.csdn.net/fanwenbo/article/details/8691540作者:潜行狙击leal(load effective address) S,D -> &S -> Dmovl S,D -> S -> D简单的说就是 movl是把访问的内存内容赋值给寄存器, leal是將地址赋值给寄存器...

2019-05-04 15:52:50 7544

原创 关于scanf使用%s时的问题(坑)

最近做题时碰到了个困扰我很久的问题,突然发现自己c的基础好差啊。问题` char map[2][12][12] ;for (i=0; i<2; i++) for (j=0; j<12; j++) scanf("%s", map[i][j]);`大概意思就是使用三维数组实现了一个由字符组成地图的输入,我觉得应该要用getchar读取每次的换行符,但事实证明不...

2019-04-27 17:49:10 19463 4

原创 白话康拓展开

参考博文https://blog.csdn.net/qq_38701476/article/details/81003290 主要内容:之前就听说过处理离散的一组很大的数时,可以将这些数映射但一直不知道该怎么映射,今天做hdu1043时了解到了康托展开,故在此记录并用大白话解释康托展开。什么是康拓展开:首先知道康托展开是干嘛的,我们拿一个数34152,可以看到这个数可以当成是1,2,3,4,5...

2019-04-20 15:28:26 78

空空如也

空空如也

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

TA关注的人

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