自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 归并排序

1.定义归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。(这里仅对内排序的两路归并方法进行讨论)2.算法实现思路1.把待排序的 n 个元素的序列分解成两个子序列, 每个子序列包括 n/2 个元素.2. 对每个子序列分别调用归并排序, 进行递归操作3.合并两个排好序的子序列,生成排序结果.例如:3.算法实现假设我们有一个没有排好序的序列,那么首先我们使用分...

2020-03-11 00:54:28 98

快速排序

快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。模拟快速排序过程:假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中找第一个数作为基准数(一个用来参照的数)。现在让第一个数6作为基准数。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准...

2020-03-08 01:12:59 143

原创 树的子结构

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)树的结构:public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val ...

2020-03-03 23:16:29 63

原创 合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:1.新建一个新结点。ListNode newlist=new ListNode(0); newlist.next=null;2.比较两个链表的头结点,拿值比较小的那个那个结点连接在新建立的那个结点后面;被拿下头结点的那个链表的头结点往后移动一位。if(head1.val&...

2020-03-03 22:45:01 70

原创 反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。链表结构:public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}解题思路:把链表地结点一个一个地拆下来,改变节点中next的方向,从而把链表变成倒序的。...

2020-03-03 00:01:24 57

原创 链表中的倒数第k个节点

题目描述输入一个链表,输出该链表中倒数第k个结点。链表:public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;}解题思路:1.计算链表中节点的个数。ListNode pListNode=head,qListNode=...

2020-03-02 23:26:22 48

原创 调整数组顺序使奇数位于偶数

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。方法一:1.新建一个数组,遍历目标数组,如果是奇数的话放进新建的数组中,偶数的话则跳过。代码如下: int length=array.length;//计算目标数组长度 int []arrary1...

2020-03-01 23:20:58 104

原创 二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路:(搬运来自牛客网的大佬的解题思路)如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减...

2020-03-01 13:58:50 64

原创 矩阵覆盖

题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法:在这里插入图片描述解题思路:1.假设第一个矩形的摆在最左边,并且竖着放,如图:那么它剩下的摆法还有f(target-1)种;2.如果第一个矩形摆在最左边,并且横着放,如图:因为它下面的那个矩形已经确定了...

2020-02-29 22:38:10 151

原创 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:1.由题可得,青蛙要想跳上第n级台阶,可以从第n-1级台阶跳一级,可以从n-2级台阶跳两级,可以从n-3级台阶跳3级,可以从第0级台阶直接跳n级。2.如果设n级台阶有f(n)种跳法,那么n-1级台阶有f(n-1)种跳法,n-2级台阶有f(n-2)种跳法,n-3级台...

2020-02-27 21:52:15 2149 4

原创 跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路:1.因为每次都只能跳一级台阶或者两级台阶,所以要想跳上第n级台阶,就必须经过第n-1级台阶或者第n-2级台阶跳上去;2.假设青蛙跳上一个n级的台阶总共有f(n)种跳法,则n-1级台阶有f(n-1)中跳法,n-2级台阶有f(n-2)种跳法,从1中我们可以知道...

2020-02-27 21:04:05 205

原创 斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39方法一:递归代码如下:public static int Fibonacci(int n){ if(n==2||n==1) return 1; if(n>2) return Fibonacci(n-1)+Fibonacci(n-2);...

2020-02-25 23:00:33 169 1

原创 旋转数组的最小数

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目大意:从一个数组中找出一个最小的数,而这个数组是比较特殊的非递减数组旋转后得到的数组。思路一:如果不...

2020-02-25 22:42:06 157

原创 用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析:队列的特性是:“先入先出”栈的特性是:“先入后出”如果把一组数据插入一个栈中,那么在这个栈中取出来的数据的顺序是不是就和原来的数据的顺序相反了,相同的,如果再把从这个栈中取出来的数据再存入另外一个栈中,那么这组数据是不是就恢复到原来的顺序了?这就和把一个1的整数取负得到-1,再把-1取负得...

2020-02-24 22:58:23 174 2

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。首先,咋们来看一下什么是二叉树的前序遍历和中序遍历:前序遍历:首先输出根节点,然后输出左子节点,最后输出右子节点。中序遍历:首先输出左子节点,然后输...

2020-02-24 22:36:29 150

原创 从尾到头打印链表

题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }*/...

2020-02-23 23:51:30 81

原创 替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一:使用Java的字符串中的replace方法这个方法相对于比较简单,只是直接运用java中原有的replace方法,将字符串中的每一个空格都替换成指定的子字符串,代码如下:public class Solution {...

2020-02-23 23:37:00 100

原创 二维数组中的查找

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。在看到这到这道题的时候,应该有很多初学者(菜鸟)跟我一样,第一个想法都是用暴力法,将数组中的每个数据和目标整数一个一个进行比较,从而判断出数组中是否含有该整数。代码如下:public stat...

2020-02-22 23:02:28 111

空空如也

空空如也

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

TA关注的人

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