
剑指
lovezhaohaimig
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑客(求连续子数组的最大和)
一、题目描述 给定一个数组 array[1, 4, -5, 9, 8, 3, -6],在这个数字中有多个子数组,子数组和最大的应该是:[9, 8, 3],输出20,再比如数组为[1, -2, 3, 10, -4, 7, 2, -5],和最大的子数组为[3, 10, -4, 7, 2],输出18。 实现代码 public class Solution { public int FindGreatestSumOfSubArray(int[] array) { if(arr.原创 2020-10-05 22:51:23 · 185 阅读 · 0 评论 -
剑客(二叉树中和为某一值的路径)
一:题目 输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 二、分析思路 三、代码实现 import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val转载 2020-10-27 11:27:01 · 250 阅读 · 0 评论 -
剑客(链表的倒数第k个值)
一、题目 输入一个链表,输出该链表中倒数第k个结点 二解题思路 首先链表的长度是不确定的 所以可以用两个指针求解 定义快指针和慢指针。 快指针先走 k-1 步,到达第 k 个节点。 fast 然后两指针同时齐步走,当快指针到达末尾时,慢指针在倒数第 k 个节点上。 三 代码实现 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.va原创 2020-10-25 16:30:11 · 260 阅读 · 0 评论 -
剑指(整型数组奇数放左偶数放右 )
一:题目 给定一个整型数组奇数放左偶数放右 快手面试 竟然这个题目丢分了,是有点不甘心,面试结束后在那想了很久,面试结束后提示和快排序类似 ,面试官走了,自己想一下是啊 自己的怎么没有想到真是后悔丢分了 真笨 真笨。。。。,就写了以下代码 如: 1 2 3 4 5 6 输出: 1 5 3 4 2 6 二 、分析思路 /*** * 思路: 和快排序一趟思想一样的 * 1.从左边选择一个偶数放到右边去 * 2.从右边选择一个奇数放到左边去 * 3.交接两个数据 ...原创 2020-09-27 21:14:34 · 668 阅读 · 0 评论 -
剑指(反转链表 )
一 、题目 输入一个链表,反转链表后,输出新链表的表头 二 题目描述 如链表为:1->2->3->4->5 反转后的链表为:1<-2->3<-4<-5 三 分析过程 第一步:head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null 第二步:需要两个临时节点来保存指针移动 第三步:每个节点向后移动一位 四 代码实现 public class Solution { public ListNode ReverseLi.原创 2020-09-27 09:57:53 · 165 阅读 · 0 评论 -
剑指(滑动窗口的最大值 )
1.题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。 例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3, 那么一共存在6个滑动窗口, 他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}原创 2020-06-09 23:31:34 · 228 阅读 · 0 评论 -
剑指(斐波那契数列 )
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 现在代码 package zc.zhm.day1; public class Tset_2 { public int fibonacci(int n) { if (n < 2) return n; int fibleOn...原创 2019-07-11 23:08:45 · 178 阅读 · 0 评论 -
剑指(重建二叉树 )
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析: 二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。 中序遍历顺序是:中序遍历根节点的左子树,然后是访问根节点,...原创 2019-06-29 00:14:21 · 140 阅读 · 0 评论 -
剑指(二维数组中查找)
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题分析: 代码如下: package zhm.day1; /** * 在一个二维数组中(每个一维数组的长度相同), * 每一行都按照从左到右递增的顺序排序,每一列都按照从上到...原创 2019-06-29 00:26:21 · 195 阅读 · 0 评论 -
剑指(替换空格)
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析思路: 1.先统计空格数量个数count 2.统计新的字符串的长度 originalLength +2*count 得到两个字条串一个是原字长度符串(originalLength),另一个是加个空格长度字符(...原创 2019-06-29 16:39:10 · 251 阅读 · 0 评论 -
剑指(用两个栈实现队列 )
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析思路: 1.只要stack2不为空则从stack2取数据 2.如果stack2为空则往sctack1插入数据 代码如下 package zhm.day1; import java.util.Stack; /** * 分析思路: * * 1.只要stack2不为空则从st...原创 2019-06-29 16:46:31 · 166 阅读 · 0 评论 -
剑指(数值的整数次方 )
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 思路: 这道题很容易实现,但需要注意以下陷阱:1)0的负数次方不存在;2)0的0次方没有数学意义;3)要考虑exponent为负数的情况。所以可以对exponent进行分类讨论,在对base是否为0进行讨论。 package cn.day18; publ...原创 2019-07-04 18:53:12 · 169 阅读 · 0 评论 -
剑指(从尾到头打印链表 )
题目 输入一个链表的头结点,从尾到头反过来打印出每个结点的值。结点定义如下: 思路 结点遍历顺序只能从头到尾,但是输出的顺序却为从尾到头,是典型的“后进先出”问题,这就要联想到使用栈,从而也可以联想到使用递归。 代码 package cn.link; public class LinkNode { private int value; private Link...原创 2019-07-13 22:45:24 · 108 阅读 · 0 评论 -
剑指(旋转数组最小值)
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路: 这个问题的中心思想其实就是使用二分查找的方法,逐步的逼近这个最小值,首先这个旋转数组将一个非递减...原创 2019-07-04 11:15:26 · 198 阅读 · 0 评论