剑指
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 · 158 阅读 · 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 · 210 阅读 · 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 · 214 阅读 · 0 评论 -
剑指(整型数组奇数放左偶数放右 )
一:题目给定一个整型数组奇数放左偶数放右快手面试 竟然这个题目丢分了,是有点不甘心,面试结束后在那想了很久,面试结束后提示和快排序类似 ,面试官走了,自己想一下是啊 自己的怎么没有想到真是后悔丢分了 真笨 真笨。。。。,就写了以下代码如: 1 2 3 4 5 6输出: 1 5 3 4 2 6二 、分析思路/*** * 思路: 和快排序一趟思想一样的 * 1.从左边选择一个偶数放到右边去 * 2.从右边选择一个奇数放到左边去 * 3.交接两个数据 ...原创 2020-09-27 21:14:34 · 632 阅读 · 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 · 135 阅读 · 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 · 194 阅读 · 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 · 154 阅读 · 0 评论 -
剑指(重建二叉树 )
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。中序遍历顺序是:中序遍历根节点的左子树,然后是访问根节点,...原创 2019-06-29 00:14:21 · 118 阅读 · 0 评论 -
剑指(二维数组中查找)
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题分析:代码如下:package zhm.day1;/** * 在一个二维数组中(每个一维数组的长度相同), * 每一行都按照从左到右递增的顺序排序,每一列都按照从上到...原创 2019-06-29 00:26:21 · 151 阅读 · 0 评论 -
剑指(替换空格)
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析思路:1.先统计空格数量个数count2.统计新的字符串的长度 originalLength +2*count得到两个字条串一个是原字长度符串(originalLength),另一个是加个空格长度字符(...原创 2019-06-29 16:39:10 · 225 阅读 · 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 · 140 阅读 · 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 · 142 阅读 · 0 评论 -
剑指(从尾到头打印链表 )
题目 输入一个链表的头结点,从尾到头反过来打印出每个结点的值。结点定义如下:思路 结点遍历顺序只能从头到尾,但是输出的顺序却为从尾到头,是典型的“后进先出”问题,这就要联想到使用栈,从而也可以联想到使用递归。代码package cn.link;public class LinkNode { private int value; private Link...原创 2019-07-13 22:45:24 · 90 阅读 · 0 评论 -
剑指(旋转数组最小值)
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:这个问题的中心思想其实就是使用二分查找的方法,逐步的逼近这个最小值,首先这个旋转数组将一个非递减...原创 2019-07-04 11:15:26 · 162 阅读 · 0 评论