自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer-从上往下打印二叉树

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 使用arraylist模拟一个队列来存储相应的TreeNode。 import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...

2019-07-07 10:21:24 78

原创 剑指offer-顺时针打印矩阵

题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 比如说给你的矩阵 a 是: 1, 2, 3 4, 5, 6 7, 8, 9 顺时针螺旋遍历它得到: 1, 2, 3, 6, 9, 8, 7, 4, 5 思路: 定义四个变量,分别来限制矩阵的边界。 来自课程https://algocasts.io/episodes/AwmXkzWx import java.util.A...

2019-06-28 21:08:07 97

原创 剑指offer-合并两个排序的链表

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solut...

2019-06-26 14:23:05 73

原创 剑指offer-反转单链表

题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路: null 1 -> 2 -> 3 -> 4 ->  5 ->null  | | |       |  | pre cur next      |  |   pre cur      |  |           pre cur 结果:5 -> 4 -> 3 -> 2 -> ...

2019-06-25 14:06:13 106

原创 剑指offer-树的子结构

题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 递归,从根节点开始比较,如果相等,再比较两个子节点。直到子树先为空为止,则为true; //Java /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = n...

2019-06-24 21:44:19 66

原创 剑指offer-二叉树镜像

//Java /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ //递归法 public class Solut...

2019-06-24 20:28:30 69

原创 剑指offer014-链表中倒数第k个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 定义两个指针pre、last。让pre先跑k-1步,然后两个指针一起跑。当pre跑到最后一个节点时,last所指节点就是倒数第k个结点。 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { t...

2019-06-08 15:45:13 90

原创 剑指offer013-调整数组顺序使奇数位于偶数前面

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路: 类似于冒泡排序,相邻元素比较,如果偶数在奇数前,则两两交换。 public class Solution { public void reOrderArray(int [] array) { ...

2019-06-08 14:18:54 129

原创 JVM内存区域划分,及垃圾回收

栈区域为什么不进行垃圾回收? 在虚拟机栈,本地方法栈和程序计数器是随线程生而生,随线程消亡而消亡的。程序计数器是控制程序逻辑的,所以没有垃圾回收机制。栈区在类的结构确定时就基本确定了,线程结束时进行内存回收。 堆和方法区为何进行垃圾回收? 其内存区域的分配是动态进行的,需要进行垃圾回收。 ...

2019-06-03 20:24:18 134

原创 剑指offer010-矩形覆盖

题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路:(引用自牛客网牛友) https://www.nowcoder.com/questionTerminal/72a5a919508a4251859fb2cfb987a0e6?toCommentId=181866 (1)当 n < 1时,显然不需要用2...

2019-06-02 14:48:26 118

原创 性能测试分类、工作流程

分类: 负载测试:通过逐步加压的方式,达到既定的性能阈值的目标。阈值的设定应该是小于等于某值,例如CPU使用率小于等于80%。 压力测试:通过逐步加压的方法,使得系统某些资源到达饱和,甚至失效的状态。即什么条件把系统压崩溃。 并发测试:在同一时间内,多个虚拟用户同时访问同一模块、同一功能。通常测试方法是设置集合点。 容量测试:指在数据库层面,目标是获取数据库的最佳容量的能力。具体测试法为在一定并...

2019-05-30 15:13:21 175

原创 剑指offer009-变态跳台阶

题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: 若2个台阶,有2种跳法: 1 1 2 若3个台阶,有4种跳法: 1 1 1 1 2 2 1 3 若4个台阶,有8种跳法: 1 1 1 1 1 2 1 1 1 2 1 3 2 1 1 2 2 3 1 4 …… n个台阶: 1 2 3 4 ……n x种跳法: 1 2 4...

2019-05-29 14:27:38 81

原创 剑指offer006-旋转数组的最小数字

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路: 1.二分法; 2.mid>最右边,例如:345612 3.mid<最右边,例如:561234...

2019-05-26 15:09:37 69

原创 剑指offer008-跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 若第一次跳1,则还剩f(n-1)种跳法,若第一次跳2,则还剩f(n-2)种跳法,斐波那契数列 class Solution: #递归,复杂度太高 # def jumpFloor(self,number): # if number ...

2019-05-26 15:00:29 69

原创 剑指offer007-斐波那契数列

题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 思路: L[n]=L[n-1]+L[n-2] 例如: 数列:0 1 1 2 3 5 8 序号n 0 1 2 3 4 5 6 # -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # ...

2019-05-23 22:33:00 71

原创 剑指offer005-用两个栈实现队列

题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 一个栈push,一个栈pop # -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack1=[] self.stack2=[] def push(self, node)...

2019-05-21 22:12:08 51

原创 剑指offer003-逆置链表并输出list

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 **思路:**ArrayList.reverse() # -*- coding:utf-8 -*# class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solu...

2019-05-20 16:53:38 92

原创 剑指offer004-重建二叉树

题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: 1.递归; 2.在先序遍历中找到根节点,再在中序遍历中找到该根节点,左右序列就是左右子树。 注意: 1.判断序列是否为空、仅有一个点; len(...

2019-05-20 16:28:37 62

原创 剑指offer002-文本中空格替换

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 先将字符串变成list,然后替换 # -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # w...

2019-05-18 22:34:56 64

原创 剑指offer001-二维数组查找

题目描述   在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。   自己的思路:1.先按行查找,然后按列查找;2.二分查找   错误: 无法确定target在哪一行及哪一列。    https://github.com/nlpjoe/Coding4I...

2019-05-17 22:51:43 105

翻译 Rep on the block : A next generation reputation system based on the blockchain 部分翻译

Rep on the block : A next generation reputation system based on the blockchain 翻译 摘要:本文介绍了第一个可应用于基于区块链的多个网络的通用信誉系统。在研究如何使用基于区块链的新技术之前,我们首先讨论当前的信誉系统,对其当前的安全漏洞进行批判性分析。我们提出了一种基于区块链技术的创新型声誉系统,旨在解决当今现代声誉...

2019-05-17 15:04:12 343

空空如也

空空如也

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

TA关注的人

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