![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程题
文章平均质量分 73
say_haha
菜鸟
展开
-
阿里内推编程测验---靶场射击,类似[LeetCode]Burst Balloons
在某射击场有N个靶,每个靶上都有一个分数,存在score数组中,击中第i个靶的得分为core[left]*score[i]*score[right],同时原left和right两个靶变为相邻的靶,其中得分为0的靶是不能射击的,当left不存在或者不能射击时,得分为score[i]*score[right],同理,right也遵循此规则,当left和right都不存在或者都不能射击时,得分为scor原创 2017-08-16 10:31:51 · 732 阅读 · 0 评论 -
实现包含min,max,push,pop函数的栈
定义辅助栈分别保存最大值、最小值。import java.util.Scanner;import java.util.Stack;public class Test { public static class myStack { Stack dataStk = new Stack(); Stack minStk = new Stack(); St原创 2017-09-26 21:20:12 · 780 阅读 · 0 评论 -
素数对--腾讯2017校招编程
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 输入描述:输入包括一个整数n,(3 ≤ n 输出描述:输出对数输入例子1:10输出例子1:2思路:从2开始,先判断一个数i是否为素数,在原创 2017-08-29 15:34:54 · 297 阅读 · 0 评论 -
数组中累加和为定值K的最长子数组长度
1、给定一个数组,值全是正数,请返回累加和为给定值k的最长子数组长度。方法一:暴力求解,求出所有的子数组,共n*(n-1)/2个,然后对每个子数组求和,时间复杂度为O(n^3)改进方法:因为数组值全是整数,所以长度为n的子数组和一定大于长度为n-1的子数组和(不管多的一项在子数组左边还是右边)。所以可以利用滑动窗口的思想来求解。调整窗口的长度及左右边界使其内的子数组和为k,求出最大窗口原创 2017-08-24 11:14:32 · 3300 阅读 · 3 评论 -
最长递增子序列
题目描述 牛客网题目对于一个数字序列,请设计一个复杂度为O(nlogn)的算法,返回该序列的最长上升子序列的长度,这里的子序列定义为这样一个序列U1,U2...,其中Ui 给定一个数字序列A及序列的长度n,请返回最长上升子序列的长度。测试样例:[2,1,4,3,1,5,6],7返回:4最长递增子序列,Longest Increasing Subs原创 2017-08-15 17:58:42 · 306 阅读 · 0 评论 -
二叉树的最近公共祖先LCA
情况1:二叉树是个二叉查找树,且root和两个节点的值(a, b)已知。如果该二叉树是二叉查找树,那么求解LCA十分简单。基本思想为:从树根开始,该节点的值为t,如果t大于t1和t2,说明t1和t2都位于t的左侧,所以它们的共同祖先必定在t的左子树中,从t.left开始搜索;如果t小于t1和t2,说明t1和t2都位于t的右侧,那么从t.right开始搜索;如原创 2017-08-22 18:10:58 · 2003 阅读 · 0 评论 -
和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正原创 2017-08-24 22:00:57 · 228 阅读 · 0 评论 -
有趣的排序——百度2017春招
有趣的排序题目链接度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序? 输入描述:首先输入一个正整数N,接下来的一行输入N个整数。(N 输出描述:输出一个整数表示最少的操作次数。输入例子1:419 7 8 25原创 2017-08-21 16:29:00 · 524 阅读 · 0 评论 -
网易秋招内推——等差数列
如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。小易现在有一个长度为n的数列x,小易想把x变为一个等差数列。小易允许在数列上做交换任意两个位置的数值的操作,并且交换操作允许交换多次。但是有些数列通过交换还是不能变成等差数列,小易需要判别一个数列是否能通过交换操作变成等差数列 输入描述:输入包原创 2017-08-13 15:58:24 · 1294 阅读 · 0 评论 -
最长公共子序列与最长公共子串(Longest Common Subsequence, LCS)
最长公共子序列与最长公共子串 http://www.cnblogs.com/en-heng/p/3963803.html动态规划算法解LCS问题 http://blog.csdn.net/v_JULY_v/article/details/61102691. 问题描述子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串cnblogsbel原创 2017-04-08 23:20:06 · 608 阅读 · 0 评论 -
字符串匹配算法KMP算法
字符串匹配算法方法1 是使用暴力方法方法2 是使用KMP算法import java.util.Scanner;/** * @author xiaohao * @date 创建时间:Jul 29, 2017 4:05:17 PM * @version 1.0 */public class SubstringSearch { public static v原创 2017-07-29 17:01:57 · 370 阅读 · 0 评论 -
最长回文子串manacher算法
最长回文子串子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。基础题:给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。https://www.nowcoder.com/practice/df00c27320b24278b9c25f6bb1e2f3b8?tpId=69&&tqId=2967原创 2017-08-08 16:36:39 · 309 阅读 · 0 评论 -
求最大子矩阵的和、求最大子数组的和
有一个正整数和负整数组成的NxN矩阵,请编写代码找出元素总和最大的子矩阵。求一个M*N的矩阵的最大子矩阵和。比如在如下这个矩阵中: 0 -2 -7 0 9 2 -6 2-4 1 -4 1-1 8 0 -2 拥有最大和的子矩阵为: 9 2-4 1-1 8其和为15。思路:因为矩阵肯定是对齐的,所以如原创 2017-08-11 14:16:59 · 1720 阅读 · 0 评论 -
数组分为两部分,使得其和相差最小
【问题】将数组分为两部分,使得两部分的和最接近,返回两部分的差值。例如:int[] array={1,0,1,7,2,4},分为两部分为{1,0,1,2,4},{7},差值为1。参考1:《编程之美》第2.18节,不过问题有所不同,2.18节要求长度为2n的数组分为两个长度为n的数组,使得两部分和最接近。参考2:http://www.tuicool.com/art原创 2017-08-11 17:14:27 · 9834 阅读 · 0 评论 -
网易春招2017真题2——赶去公司
终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急bug。假设市区是一个无限大的区域,每条街道假设坐标是(X,Y),小易当前在(0,0)街道,办公室在(gx,gy)街道上。小易周围有多个出租车打车点,小易赶去办公室有两种选择,一种就是走路去公司,另外一种就是走到一个出租车打车点,然后从打车点的位置坐出租车去公司。每次移动到相邻的街道(横向或者纵向)原创 2017-08-12 11:46:06 · 326 阅读 · 0 评论 -
单调栈——(直方图内最大矩形 || 最大全1子矩阵 )
单调栈,顾名思义就是说栈内的元素,按照某种方式排序下,必须是单调的。如果新入栈的元素破坏了单调性,就弹出栈内元素,直到满足单调性。它可以很方便地求出某个数的左边或者右边第一个比它大或者小的元素,而且总时间复杂度O(N)。直方图内最大矩阵给出一个柱形统计图(histogram), 它的每个项目的宽度是1, 高度和具体问题有关。 现在编程求出在这个柱形图中的最大面积的长方形。例如:7原创 2017-08-17 15:07:08 · 2198 阅读 · 0 评论 -
计算两个日期之间相差多少天,计算当前日期是星期几
完美世界编程题,计算两个日期之间经过了多少个零点和多少个星期四。package wanmeishijie170926;/* *输入2017/9/7 0:0:02017/9/21 0:0:0输出 13,1 * */import java.util.Scanner;public class Test1 { public static void main(Strin原创 2017-09-26 21:39:18 · 2235 阅读 · 0 评论