自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 合并数组(升序数组降序合并,反之)

1.首先不管是升序还是降序,反向排,所以数组下标都从最后开始2.升序降序的不同只有两数比较时不同(max min)import java.util.*;public class main1 { public static void main(String[] args) { int[]A={0,-2}; int[]B={10,0,-1}; int len = A.length + B.length; int[] ret =

2020-10-11 22:34:35 687

原创 顺时针打印数组

1.定义四个变量代表范围,up、down、left、right向右走存入整行的值,当存入后,该行再也不会被遍历,代表上边界的 up 加一,同时判断是否和代表下边界的 down 交错 向下走存入整列的值,当存入后,该列再也不会被遍历,代表右边界的 right 减一,同时判断是否和代表左边界的 left 交错 向左走存入整行的值,当存入后,该行再也不会被遍历,代表下边界的 down 减一,同时判断是否和代表上边界的 up 交错 向上走存入整列的值,当存入后,该列再也不会被遍历,代表左边界的 left

2020-10-03 17:47:53 124

原创 二叉树的镜像

1.递归(交换当前节点的左右子节点,然后递归)public class Solution { public void Mirror(TreeNode root) { if(root==null) return; TreeNode temp=root.left; root.left=root.right; root.right=temp; Mirror(root.left);

2020-10-03 17:08:38 91

原创 剑指offer——奇数在偶数前面

第一种:遍历两次,第一次将奇数放入新数组,第二次将偶数放入新数组第二种:使用插入排序的思想public class Solution { public void reOrderArray(int [] array) { if(array==null||array.length==0){ return; } int k=0; for(int i=0;i<array.length;i++){ .

2020-09-25 22:51:15 106

原创 剑指offer——数值的整数次方

1.暴力解法,需要考虑为负数情况public class Solution { public double Power(double base, int exponent) { double e=1.0; while(exponent<0){ e/=base; exponent++; } while(exponent>0){ e*=base; .

2020-09-25 22:20:30 70

原创 测试方法(是否运行程序、是否查看代码、是否手工、测试对象不同)

1.动态测试 动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。2.静态测试(测试源码+文档) 不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。答:软件测试从不同的维度来划分是不同的,再进行举例说明1.手工测试手...

2020-09-10 19:49:42 1260 1

原创 TCP&UDP

五元组:protocol 源ip 源port 目的ip 目的portTCP与UDP相同性:传输层的协议——都是坚决端对端的通信问题 五元组 校验和不同点:基本特点 TCP:可靠,有链接,面向字节流 UDP:不可靠,无连接,面向数据报 UDP的传输效率高于TCP 使用场景不同 TCP:发布文本消息,或者数据中间有错误,后面的数据全部不可以使用, 应用于文件传输, 重要状态更新等场景; UDP:偶尔丢一点数据没关系,乱序也没关系(应用层有自己的序号)UDP用于对高速传输

2020-09-10 10:02:50 107

原创 网络初识

网络属于操作系统一部分局域网(LAN) Local Area NetWork 交换机广域网(Wan Wide Area NetWork) 路由器服务器(Sever提供资源的人)客户端(Client)分层原因:(封装/职责的隔离)DNS(Domain Name Servics) 类似将www.baidu.com转为百度的地址TCP/IP:(五层协议)应用层: 传输层 网络层 数据链路层: 物理层(Physcial layer):重点协议:上图红框对应上图.

2020-09-10 09:49:13 66

原创 面试题之海量数据处理

海量数据处理:1.给定40亿个不重复的无符号数,没排过序。给一个无符号数,如何快速判断一个数是否在这40亿个数中? 第一种:位图 第二种:布隆过滤器 原理: 2.给一个超过100G大小的lo...

2020-03-23 21:49:17 176

原创 Tomcat访问浏览器出现404

首先检查URL的端口是否是Tomcat监听的端口 启动Tomcat时检查是否将war包部署到了tomcat,即在Webapp下有没有对应war包的文件夹存在 检查你的context是否存在(tomcat->Webapp->对应context path) 检查URL的剩余部分是否正确 乳沟都正常,可能是Servlet代码实现不对 具体关于T...

2020-03-02 20:57:16 697

原创 Sevlet&Tomcat

Tomcat:Tomcat配置端口修改及与Servlet之间的版本匹配问题:HttpServlet与Servlet之间关系:HTTPServlet是一个抽象类,实现了Servlet接口,servlet内部有三个方法,在servlet不同生命周期使用interface Servlet { void init(ServletConfig var1) throws S...

2020-03-02 20:26:03 196 1

原创 网络——数据链路层

数据链路层主要是用的是以太网:ARP协议:介于网络层与数据链路层之间的协议,建立了ip地址与Mac地址之间的转换。重点:缓存表中的表项存在过期时间例如:唐僧取西经HTTP:将请求进行封装TCP:找到原端口与目标端口IP:找到原ip与目标ip,根据路由表及目标ip找到下一跳ip。ARP:根据下一条ip找到下一跳mac 注意:一个路由器均两个网卡,源ip与目标ip必须在...

2020-03-01 21:30:02 160

原创 测试——测试用例

1.基于需求(1)验证需求是否正确、完整、无二义性,并且逻辑一致。(2)要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。难点:看出以外的测试点2.等价类思想:减少测试用例,解决输入无穷的问题 使用场景:输入 输出无穷时 概念:无穷的呼入分成N个类,然后从类里边提取一个数据进行测试,只要这一个数据测试通过,我们就认为它所在的这一类全部测试...

2020-02-11 17:25:43 510

原创 测试——按测试实施组织进行测试的方法

1.α测试一个用户在开发环境下进行的测试/公司内部用户模拟实际环境进行测试,不能有开发人员及测试人员进行参与。2.β测试Beta测试是一种验收测试。由软件的最终用户们在一个或多个场所进行。α和β区别:测试人员不同 公司内部(除泵项目的研发人员和测试人员)的人员 用户 环境不同 研发环境和预发布环境(测试环境-预发布环境-生产环境) 用户环境 先后顺序(A...

2020-02-11 16:56:29 585

原创 测试——按开发阶段进行软件测试

1.单元测试(一个模块)对模块中的代码进行测试。其目的是检验软件基本组成单位的正确性。测试内容为模块接口测试(对模块之间接口/接口的参数进行测试)、局部数据结构测试(数据的作用率范围)、路径测试、错误处理测试、边界测试测试方法:白盒测试 测试人员:白盒测试工程师或开发工程师 测试阶段:编码前或者编码后(编码前是指研发人员使用测试人员的测试用例进行编码) 测试依据:代码和注释+详细设计...

2020-02-11 16:54:43 542

原创 Python——List和Tuple(有序集合)

List:Python内置的一种数据类型是列表,是一种有序的集合,使用len()来获取list的元素个数 列表中的数据元素类型可以相同也可以不同,可以是另一个list>> s = ['python', 'java', ['asp', 'php'], 'scheme'] >>> len(s) 4查找:使用索引来访问元素(下标从0开始),需要访...

2020-01-13 12:39:14 502

原创 Python——简介

1.如何从命令行进入python打开CMD输入python进入出现>>> 输入exit()退出python交互模式 回到命令行模式>>>100+200300 >>>print('hello world') hello world退出后无法保存 需要在进行输入解决办法:使用文本编辑器(不要使用windows及word自...

2020-01-12 19:19:18 111

原创 自学Python——字符编码和字符串

#!/usr/bin/env python3 # -*- coding: utf-8 -*- //在python文件开头加入这两行,指定字符编码ASCII:最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。Unicode:使用两个字节来表示一个字符。ASCII...

2020-01-12 18:59:22 90

原创 自学Python——字符编码和字符串

#!/usr/bin/env python3 # -*- coding: utf-8 -*- //在python文件开头加入这两行,指定字符编码ASCII:最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。Unicode:使用两个字节来表示一个字符。ASCII...

2020-01-12 18:58:41 122

原创 如何使用jar包去使用第三方库(三种方式)

一个系统的开发是需要很多第三方库的(不是你们自己开发的代码):以jar包形式提供分析依赖 maven依赖路径:C:\Users\dell\.m2(一般情况下载这里 具体根据你的IDEA的安装路径) 2.maven自动下载 下载慢的原因:下载源在国外 只配置了一个依赖,但实际下载的东西可能更多 自动配置编译和运行阶段...

2020-01-08 13:00:52 1515

原创 JavaWeb——网络

网络属于操作系统一部分局域网(LAN) Local Area NetWork 交换机广域网(Wan Wide Area NetWork) 路由器服务器(Sever提供资源的人)客户端(Client)分层原因:(封装/职责的隔离)DNS(Domain Name Servics) 类似将www.baidu.com转为百度的地址TCP/IP:(五层协议)应用...

2020-01-05 11:34:32 205

原创 JavaSE——Map&Set

1.Map方法及其功能代码模拟实现功能import java.util.Map;import java.util.TreeMap;public class MapDemo { public static void main(String[] args) { Map<String,String> map=new TreeMap<>();...

2019-10-09 21:35:42 104

原创 JavaSE——搜索树BinarySearchTree&&实现电话薄

1.搜索树二叉搜索树又称二叉排序树,它或者是一棵空树**,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分别为二叉搜索树 搜索树主要实现三个操作 查询 插入 删除1.查询(根据二叉树的性质来进行)key值与根结点进行比较,等于则返回该节点...

2019-10-09 21:27:14 191

原创 java——对象的比较

java对象的比较主要有Object.equals Comparable Comparator1.==和equals比较 p == q 表示的是 p 和 q 两个引用指向同一个对象 p.equals(q) 表示 p 指向的对象 和 q 指向的对象是否是值语义相等的(使用时需要进行覆写例如下面的程序判断两张扑克牌:)public class Card { ...

2019-10-06 22:27:00 78

原创 数据库——优先级队列(堆的应用)(外加TOPK问题 面试常考问题)

一.概念 在很多应用中,我们通常需要按照优先级情况对待处理对象进行处理,比如首先处理优先级最高的对象,然后处理次高的对象。在这种情况下,我们的数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就是优先级队列(Priority Queue) 二.优先级队列的实现方式——堆三.操作 1.入队列(以小堆为例) <1....

2019-09-27 22:41:08 262

原创

二叉树的顺序存储 使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪费。这种方式的主要用法就是堆的表示。 完全二叉树结点之间与数组下标的关系:在已知双亲结点的情况下左孩子下标:left=2*parent+1 右孩子结点:right=2*parent=2 2.已知左孩子或者有孩...

2019-09-27 21:49:15 300

原创 数据库--排序(直接插入排序 希尔排序 直接选择排序 双向选择排序 堆排序 冒泡排序)

排序算法1.直接插入排序 每次从无序区间的第一和元素开始,依次与有序区间内的元素从后往前比较 。如果当前有序区间内的元素大于无序区间,则将有序区间该下标元素后移 插入 public static void insertSort(int[] array) { //有序区间:[0,i) //无序区间:[i,array.length) ...

2019-09-25 22:54:15 703

原创 二叉树的前序遍历(两种方法)

1.遍历的思想(根左右)注意:1.每次都要进行将链表清空; 2.记录的位置需要放在后面)class Solution { List<Integer> list=new ArrayList<>(); private void preorder(TreeNode root){ if(root!=null){...

2019-09-21 14:58:31 749

原创 数据库--队列和栈练习题

1.用队列实现栈解题思想:队列为一边进另一边出,而栈为一边进一边出,所以要实现栈必须要使队列中除队尾元素之外,进行循环尾插到队尾,来实现出栈import java.util.LinkedList;class MyStack { private LinkedList<Integer> queue;//定义一个链表类的引用queue public My...

2019-09-20 17:41:54 152

原创 删除所有重复元素,不保留结点

解决办法:定义三个引用(分别指向头结点的前驱结点prev和头结点p1以及下一节点p2)如果p1的值与p2的值相同,则三个引用分别向后走否则p2进行移动直至与p1的值不同public class Solution { public ListNode deleteDuplication(ListNode pHead) { if (pHead == null) { r...

2019-07-29 17:27:06 194

原创 回文链表

回文链表是指从头遍历与从后遍历得到的结点顺序一致解决方法:找到链表的中间结点,将链表的后半边结点进行逆置,然后比较public class PalindromeList { public ListNode getMid(ListNode head) { ListNode fast = head; ListNode slow = head; ...

2019-07-29 17:06:44 345

原创 求链表的倒数第K个结点

1.循环遍历链表count,然后再利用循环从头结点出发,循环count-k次,即为倒数第k个结点public class Solution { public ListNode FindKthToTail(ListNode head,int k) { int count=0; ListNode node=head; for(ListNode cur=head;cur!=nu...

2019-07-29 16:53:46 66

原创 返回链表的中间结点,若中间有两个结点,则返回后一个结点(两种方法)

1.先遍历整个链表,求出链表长度,在进行循环找出中间结点public class Solution { public ListNode middleNode(ListNode head) { int len=0; for(ListNode cur=head;cur!=null;cur=cur.next) len++;//遍历算出链表长度 ListNode node=...

2019-07-29 16:42:32 315

原创 按X分割链表

分割链表将一个链表按X的大小,将小于X的结点放在X结点的左边,大于等于的在右边解决方法:建立两个新链表,分别用来存储大于等于X及小于X的结点,最后进行拼接1.首先分别建立两个新链表及指向两个新链表最后一个元素的引用Node smaller=null;Node bigger=null;Node lastSmall=null;Node lastBig=null;Node cu...

2019-07-29 16:33:49 150

原创 双向链表的删除与插入

1.双向链表(第一个节点的前驱结点为空,最后一个节点的后继节点为空)class Node { int val; Node next;//后继引用 Node prev;//前驱引用 Node(int val) { this.val = val; }}public class MyLinkedList { private No...

2019-07-28 19:55:15 311

原创 合并有序链表

1.新建一个链表,比较顺序尾插public merge(Node head1,Node head2){ Node result=null; Node l1=head1; Node l2=head2; Node last=null; while(l1!=null&&l2!=null) { if(l1.val<=l2.val) { Node nex...

2019-07-28 09:30:35 54

原创 Create 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深拷贝。

1.Create 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深拷贝。 (浅拷贝只能拷贝值)class Solution { public Node copyRandomList(Node head) { if(head==null){ return null; ...

2019-07-28 09:24:44 498

原创 链表的环与相交问题

1.给定一个链表,判断链表中是否有环(定义两个引用,快慢指针,最终会相遇的)public class Solution { public boolean hasCycle(ListNode head) { ListNode fast=head; ListNode slow=head; do{ if(fast==...

2019-07-28 08:43:37 90

原创 删除链表中所有值为val的结点

新建一个链表将所有值不是val的结点进行尾插操作class Solution { public ListNode removeElements(ListNode head, int val) { ListNode result = null; ListNode cur = head; ListNode last=null;//用来记录当前链表的最后一...

2019-07-27 09:18:22 168

原创 反转链表

例如:1->2->3->4->5反转之后;5->4->3->2->1class Solution { public ListNode reverseList(ListNode head) { ListNode result=null;//新建一个新链表 ListNode cur=head;...

2019-07-27 08:46:32 42

空空如也

空空如也

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

TA关注的人

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