自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络-应用层HTTP协议

目录HTTP协议的特点HTTP封装后数据报的格式HTTP常用的方法get和post方法的区别状态码HTTP和HTTPS区别cookie和sessionHTTP协议的特点1.简单快速:客户端向服务端发送请求时,只需传输请求方法和路径2.灵活:HTTP允许传输任意类型的数据对象3.无连接:每次连接只能处理一个请求4.无状态:协议本身对事务处理没有记忆HTTP封装后数据报的格式HTTP常用的方法HTTP最常用的方法就是get和post方法了,get一般用于获取和查询资源信息,post一般用于更

2021-04-16 19:19:48 122

原创 网络-OSI七层模型

目录OSI七层模型TCP/IP五层模型OSI七层模型七层模型分为:应用层,网络层,传输层,表示层,会话层,数据链路层,物理层其中会话层是通过会话管理网络连接的,表示层是展示不同表现形式的信息。TCP/IP五层模型应用层:为用户的应用进程提供网络通信服务;协议:DNS协议,HTTP协议,SMTP协议等传输层:负责数据从发送端传输到接收端;协议:UDP协议,TCP协议等网络层:在复杂的网络环境下确定一个合适的路径;协议:IP协议数据链路层:将网络层交下来的数据报封装成帧,在同一种数据链路

2021-04-16 17:58:38 111

原创 浅谈cookie和session

一、背景http是一个无状态的协议,短连接(http1.1后提供了长连接),在每次请求和响应时都会新建连接和关闭连接,在遇到敏感资源就出现了问题,session就是来解决这个问题的。二、sessionsession,会话,是用来保持用户身份,主要解决需要登录的敏感资源访问问题。通过服务器保存用户身份信息实现。流程:1、生成随机字符串sessionid,保存在tomcat的用户信息数据结构中,sessionid绑定一个用户,一个用户保存多个信息。2、把sessionid放在响应头,头信息的键值对

2021-03-13 19:29:38 122

原创 地下迷宫-牛客

小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离需要消耗1点体力值,向上爬一个单位距离需要消耗3个单位的体力值,向下移动不消耗体力值,当小青蛙的体力值等于0的时候还没有到达出

2021-03-09 19:45:34 89

原创 红与黑-牛客

有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。这题用的是bfs,标记开始的结点,把节点放入队列,往前后左右遍历,符合条件的放入队列。import java.util.*;public class redAndBlack { public static void main(String[] args) { Scanner sc = new S

2021-03-09 15:36:30 352

原创 2的个数-牛客

给定一个正整数n,请返回0到n(包括n)的数字中2出现了几次。测试样例:10返回:1这道题说难也不难,就是计算有多少个2嘛,leetcode上也有同款计算1的个数的题,这种题第一眼会想到for循环,但是这个方法对于小数可以,大数时间复杂度太大了用不了。历经千难万险,终于找到了方法,分别计算各个位2的个数即可,...

2021-02-02 19:33:24 201

原创 大整数排序-牛客

对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。链接:https://www.nowcoder.com/questionTerminal/b744af632ac4499aa485d7bb048bb0aa来

2021-01-30 13:20:09 124

原创 整数与IP地址间的转换-牛客

刷题人带着她的题目来了,今天这道题目丰富的运用了字符串中的相关方法以及进制间的转换,十分值得收藏,话不多说上题目!原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003 000000

2021-01-27 11:30:52 306

原创 输入两个链表,找出它们的第一个公共结点

这是牛客剑指offer 36题,这道题总结了如下四种解法:解法1是比较容易想到的一种,先分别求出长度,然后长的先走插值步,然后再同时走并判断是否相等,相等的结点即为所求。解法2是在答案区看到的非常巧妙的方法(我当然是想不出来的????),如果你打眼一瞅看不太明白可以画个图就明白了,十分巧妙的。解法3利用栈先进后出的原则,先把两个链表都分别入栈,然后相同的结点都往外弹出,直到弹出不同的结点,那个结点的前一个结点即为所求。需要考虑如果弹出的第一个结点就不相等的话直接返回null,还有每次弹出前peek一下

2020-12-17 10:29:51 237

原创 数组中数字出现次数超过一半的数字(java)

这是剑指offer上很有意思也很简单的一道题目,想了三种写法,都通过了,在这总结一下:题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。import java.util.Arrays;import java.util.HashMap;import java.util.Map;public class halfNumJZ28 {

2020-12-08 18:02:50 114

原创 数据结构之堆的简述

目录什么是堆向下调整建堆堆的应用什么是堆今天来谈谈数据结构中的堆,什么是堆呢?我的理解是,堆可以看作一棵逻辑上的完全二叉树,并可以通过数组保存的。堆分为大堆,小堆,堆就像一个金字塔一样,大堆就是越大的值越往上,最大值在堆顶,每一个元素都大于等于它的左右孩子,小堆反之。向下调整以小堆为例,堆的向下调整就是当数组中只有需要调整的元素不满足条件,其他元素都满足小堆的条件了,就可以进行向下调整使之有序。向下调整的思路就是:如果是叶子结点就不用调整了,找出孩子中最小的(一个孩子的话最小的就是左孩子了),

2020-11-20 15:14:34 273

原创 数据结构之你真的了解二叉树吗

目录简述定义二叉树的结点二叉树的前中后序遍历计算结点个数第k层结点个数二叉树的高度是否有结点值为v平衡二叉树另一个树的子树二叉树的最近公共祖先简述你真的了解二叉树吗?一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。这是表面上的二叉树,本文将基于二叉树的前中后序遍历解决一些求解二叉树的相关问题,感兴趣的就继续往下看吧。定义二叉树的结点二叉树是结点的有限集合,那么结点就必不可少啦:public class TreeNode {

2020-11-18 20:34:42 352 1

原创 Java中对象的比较

目录覆写基类的equal基于Comparable接口类的比较基于比较器比较Java中有些情况下需要比较对象的内容,那么怎么比较对象的内容呢?下面介绍三种比较方式。覆写基类的equal第一种,覆写equals方法可以比较两个对象的内容是否相等,实现如下:class Teacher{ String name; Teacher(String name){ this.name=name; } //覆写equals方法 如果不覆写t1.equl

2020-11-05 17:12:31 156

原创 Java-七大排序算法,你学废了吗

目录写在开头插入排序希尔排序选择排序堆排序冒泡排序快速排序归并排序写在开头很久没有更新啦,今天来说一说排序的那些事。排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时一般提到的排序一般都是指升序。主要的排序算法有七种:插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序。下面看我一一道来。插入排序//1.从无序区间拿出一个数//2。与有序区间上的数比较//3.插入合适的位置//时间复杂度:最好 O(n) 最坏 O(n^2) 平均 O(n

2020-10-25 10:24:53 178 1

原创 史上“最强”单链表实现(插入,删除,查找,求长...你想要的这里都有!)

文章目录序头插法尾插任意位置插入删除第一次出现的关键字删除所有指定关键字得到单链表的长度打印单链表清空单链表写在结尾序链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。这里说的单链表是指无头单向非循环链表。链表当然是由结点串起来的,那么,在写单链表实现前,我们需要定义一个结点的类。代码敲起来:class Node{ public int data;//定义当前结点的数据 public Node next;//下一个结点的引用 publ

2020-07-29 18:03:06 305 2

原创 Java 类和对象

类与对象的初步认知Java是基于面向对象的,关注的是对象,也就是参与过程所涉及的主体,是通过逻辑将一个个功能实现连接起来。类就是一类对象的统称,对象就是这一类具体化的一个实例。简而言之,面向对象就是用类来描述客观世界的事物的一种方式,一个类主要包含一个事物的属性和行为。类和类的实例化类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。声明一个类就是创建一个新的数据类型,而类在Java中属于引用类型,使用关键字class来声明类,类中的元素称为成员属性,类中的函数称为成员方法。new关

2020-07-26 12:28:11 129

原创 Java 方法的重载

有时候我们需要用一个函数同时兼容多种类型参数的情况,就要用到方法重载。示例:public class Test { public static void main(String[] args) { int a=10; int b=20; int ret=max(a,b); System.out.println(ret); double a1=1.5; double b1=4.3; d

2020-07-23 17:51:25 87

原创 方法基本用法

对于刚学习Java的人来说,方法应该是必学的吧,方法的运用能让整个程序看起来如鱼得水,层次分明,方法的使用也很简单,下面就来科普下吧。什么是方法简单来说,方法就是一个代码片段,方法之于Java就相当于函数之于C。方法定义格式如下:public static 方法返回值 方法名称([参数类型 形参...]){ 方法体代码; [return 返回值]; }...

2020-07-22 18:31:04 150

原创 Java 变量与运算符基础知识总结

变量Java中变量有两种数据类型,分别是8种基本数据类型和引用类型,8种基本数据类型有byte,short,int,long,float,double,char,boolean,引用类型在基础部分暂时只说一个String。整型首先byte,short,int,long,它们四个表示的都是整型。byte是字节类型变量,在C中是没有的,在Java占一个字节,表示的数据范围是-2^ 7–2^ 7-1,基本语法格式为:byte 变量名=初始值;包装类为Byte。short是短整型变量,占2个字节,表示的数据范

2020-07-17 17:46:25 140 1

原创 给定一个十进制整数,如何转成二进制形式?如何转成十六进制形式?

十进制转换为二进制在日常生活中,我们通常使用的是十进制数,而计算机使用的是二进制。二进制数从右到左每位数依次表示的是2^0 2^1 2^2 …而十进制的进位就是十,逢十进一,那么把十进制数转化成逢二进一的二进制数就需要拿这个数一直除以2,除到0为止,此时把每一步除下来的余数逆序写出来即可。此方法较为繁琐,推荐更简便的方法——估算法。我们知道2^0=1 2^1=2 2^2=4…拿到一个十进制数时我们可以先估算它大致接近2的多少次方,再依次写出它的二进制。例如150,接近128也就是2的七次方,150-

2020-07-16 18:20:07 1070 1

原创 c语言实现三子棋

概述将下三子棋的过程分成几个步骤(1.初始化空格2.显示棋盘3.玩家走4.判断结果5.电脑走6.整合),利用不同的函数实现每个步骤,同时采用多文件让整个程序更清晰明了(头文件、函数文件和主函数文件)代码Partpart 1 chess.h...

2020-05-05 00:16:35 271 1

原创 新的起点

今天是2020年3月26日 天气????这是我写的第一篇博客,现在的我是一名大二的学生,大家可以叫我猕猴桃女孩,我现在对编程的学习程度也只是在c语言、c++表面,我希望可以通过今后的学习在编程上能够达到一个很高的水准。可能现在我和程序员这三个字还没有什么联系,但是我希望在不久的将来能够成为一名优秀的程序员。学习编程是一件很有趣的事情,我计划每周花费不少于15个小时在这上面,勤能补拙,可能现在我在这方...

2020-03-26 20:58:01 137 2

空空如也

空空如也

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

TA关注的人

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