自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer之变态跳台阶 (java)

一.题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。二.知识点:递归三.思路:定义问题为f(n),那么由题目信息可知,f(n) = f(n - 1) + … + f(2) + f(1),f(n-1)=f(n-2)+···+f(1)+1。将下式带入上式,得到f(n)=2*f(n-1)四.解答:public class Solution { public int JumpFloorII(int target) {

2020-07-21 09:53:00 150

原创 剑指offer之二叉树的镜像 (java)

一.题目:操作给定的二叉树,将其变换为源二叉树的镜像。二.知识点:二叉树:Java数据结构之二叉树三.思路:交换左右子树的节点,然后递归调用该方法四.解答:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/publ

2020-07-21 09:46:11 115

原创 剑指offer之二叉树的深度 (java)

一.题目:二.知识点:三.解答:四.总结:

2020-07-21 09:31:13 113

原创 剑指offer之不用加减乘除做加法 (java)

一.题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。二.知识点:二进制转换三.解答:public class Solution { public int Add(int num1,int num2) { int sum1,sum2; while(num2!=0){ sum1=num1^num2; sum2=(num1&num2)<<1;

2020-07-20 21:51:57 93

原创 剑指offer之构建乘积数组 (java)

一.题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)二.知识点:(1)数组三.解答:四.总结:...

2020-07-20 21:44:22 89

原创 Java数据结构之数组

一.数组的定义:数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组示意图(下面的图片描绘了数组 myList。这里 myList 数组里有 10 个 double 元素,它的下标从 0 到 9。):二.数组的特点:(1)长度是确定的。数组一旦被创建,它的大小就是不可以改变的。(2)其元素必须是相同类型,不允许出现混合类型。元素的类型可以是java 支持的任意类型(3)数组

2020-07-20 21:35:44 164

原创 Java数据结构之队列

一.概述1.队列(queue)是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。2.队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,...

2020-05-06 11:25:18 201

原创 TCP/IP协议

一.TCP/IP协议概述TCP/IP模型:TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。TCP...

2020-04-29 13:29:14 420

原创 剑指offer之重建二叉树 (java)

一.题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。二.知识点:(1)二叉树三.解答:/** * Definition for binary tree * public class TreeN...

2020-04-24 19:30:27 95

原创 Java数据结构之二叉树

一.定义:树状图是一种数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树。二.基本术语:名字描述结点树中的每个元素 ...

2020-04-24 19:28:12 206

原创 剑指offer之从尾到头打印链表 (Java)

一.题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。二.知识点:(1)链表(2)ArrayList底层数据结构是数组。ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。线程不安全,...

2020-04-19 21:47:59 124

原创 剑指offer之替换空格 (Java)

一.题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。二.知识点:(1).字符串(2).StringBufferStringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBu...

2020-04-19 19:28:03 109

原创 剑指offer之二维数组中的查找 (Java)

一.题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二.知识点:(1)元素查找(2)数组三.解答:public class Solution { //二维数组 行长度:array.length,列长度:array[i].lengt...

2020-04-19 19:11:05 123

原创 Java常见的十大排序算法

一.冒泡排序1.原理:每次比较两个相邻的元素,将较大的元素交换至右端。2.思路:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。3.排序动态图:4.代码演示:publ...

2020-04-19 18:43:59 636

原创 Java基础之三大集合

Java三大集合一.Set1.概述(1)Set集合,基础自Collection。特征是插入无序,不可指定位置访问,不能有重复的数据。(2)Set集合的实现类是基于Map集合去写的。通过内部封装Map集合来实现的比如HashSet内部封装了HashMap。(3)Set集合的常用实现类有 HashSet,TreeSet2.保证Set集合元素无序性(1)保证元素唯一性需要让元素重写两个方法...

2020-04-15 18:03:53 301

转载 Java基础之多线程

一. 概念是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。二. 使用多线程的目的1.为了更好的利用cpu的资源,如果只有一个线程,则第二个任务必须等到第一个任务结束后才能进行,如果使用多线程则在主线程执行任务的同时可以执行其他任务,而不需要等待。2.进程之间不能共享数据,线程可以。3.系统创建进程...

2020-04-11 17:59:42 95

原创 Java基础之线程与进程

一.线程:1. 概念:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。2. 特点:(1)轻型实体线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和TCB。线程是动态概念,它的动态特性由线程控制块TCB(Thread Control ...

2020-04-11 10:21:52 128

空空如也

空空如也

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

TA关注的人

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