自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (1)
  • 收藏
  • 关注

原创 【网易笔试题】战斗点

解题思路重复的点没有必要去增加时间复杂度, 先把point点简化成没有重复的新数组norepeatvalues以及记录每个新数组的成员point对应的重复次数repeatcounts数组;两个点可以确定一条直线,假设有一个起始点Point[i]和Point[j],它们俩相连的斜率为k,其它只要和它们相连的点必定与它们在同一条直线上;当然,斜率不存在的极端情况也是要考虑在内的,斜率不存在的点,它

2017-09-18 17:33:24 700

原创 【网易笔试题】游戏中挂机

解题思路定义排序规则,对字符串进行排序,然后输出即可,排序的规则为两个字符串 A,B。A在左侧B在右侧 和 B在左侧A在右侧 两个组成的数字哪个更大。import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Main { static class Compare i

2017-09-18 16:52:19 698

原创 【网易笔试题】游戏卡牌

解题思路首先测试样例有错误,应该是输入 5 1 2 3 4 5 10 输出 30暴力解,找到所有和为m的求积。import java.util.Scanner;import java.util.HashMap;import java.util.Iterator;public class Main { public static void main(String[]

2017-09-18 16:48:34 1447

原创 【网易笔试题】成对的括号

解题思路将其他字符去掉之后,只剩下括号,遇见左括号入栈,右括号则弹栈,弹栈时无法匹配则返回false。import java.util.LinkedList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scann

2017-09-18 16:45:37 666

原创 【CVTE笔试题】数字分割

题目描述给定一个数字n,如654321,再给定一个值m,如48。 对数字n进行任意分割,6+5+4+3+2+1或者65+4+32+1。 使分割之后的和最接近m值。解题思路递归对n进行分割,退出的条件就是完成分割。public class Main { private int last = 0; private int sum = 0; private void fun(ch

2017-09-08 11:18:46 424

原创 【美图笔试题】蚂蚁爬杆

解题思路首先这个题目的样子输出有问题,最快不是4秒,是20秒。最快的时间:在杆左半部分的往左侧爬,在杆右半部分的往右爬,这样需要时间最久的那个蚂蚁就是最快时间,这样依次爬行不存在蚂蚁碰撞的问题。 最慢的时间:因为涉及到蚂蚁碰撞的问题,我们先分析蚂蚁碰撞的时候发生了什么。 当A和B碰撞的时候分别原路返回,其实我们可以换个角度来看,B原路返回之后走的是原来A应该继续走的路线,A原路返回之后走的是

2017-09-07 21:51:03 1078

原创 Split Array Largest Sum

Given an array which consists of non-negative integers and an integer m, you can split the array into m non-empty continuous subarrays. Write an algorithm to minimize the largest sum among these m suba

2017-09-04 22:27:16 260

原创 [编程题] 构造队列

小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序: while(!Q.empty()) //队列不空,执行循环{int x=Q.front(); //取出当前队头的值xQ.pop(); //弹出当前队头Q.push(x); //把x放入队尾x = Q.

2017-09-04 11:51:35 330

原创 [编程题] 洗牌

洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起

2017-09-04 11:47:47 472

原创 [编程题] 最大的奇约数

小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3)…….f(N) 例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 + 1 +

2017-09-04 11:45:42 393

原创 [编程题] 计算糖果

A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。 输入描述: 输入为一行,一共4个整数,分别为A -

2017-09-03 17:46:59 399

原创 [编程题] 买苹果

小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述: 输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述: 输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1输入例子1: 20输出例子

2017-09-03 17:00:05 579

原创 [编程题] 数字翻转

对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少? 输入描述: 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。输出描述: 输出rev(rev(x) + rev(y)

2017-09-03 15:59:49 2683

原创 [编程题] 暗黑的字符串

一个只包含’A’、’B’和’C’的字符串,如果存在某一段长度为3的连续子串中恰好’A’、’B’和’C’各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如: BAACAACCBAAA 连续子串”CBA”中包含了’A’,’B’,’C’各一个,所以是纯净的字符串 AABBCCAABB 不存在一个长度为3的连续子串包含’A’,’B’,’C’,所以是暗黑的字符串 你的任务就是计算出长度为

2017-09-03 15:52:53 293

原创 [编程题] 跳石板

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1

2017-09-03 15:28:24 359

原创 [编程题] 优雅的点

小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。 输入描述: 输入为一个整数,即为圆半径的平方,范围在32位int范围内。

2017-09-03 14:13:49 256

原创 [编程题] 回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前

2017-09-03 14:02:55 403

原创 [编程题] 推箱子

大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上,有1个玩家、1个箱子、1个目的地以及若干障碍,其余是空地。玩家可以往上下左右4个方向移动,但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子,箱子也会按这个方向移动一格,当然,箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后,游戏目标达成。现在告诉你游戏开始是初始的地图布局,请你求出玩家最少需要移动多少步

2017-09-03 13:49:25 2663

原创 [编程题] 最大和

在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值 输入描述: 每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D : 3 <= N <= 100 1 <= D <= N 接下来有N行,每行N个数字d: 0 <= d <= 100输出描述: 输出一个整数,表示找到的和的最大值输入例子1: 4 2 87 98 79 61

2017-09-03 11:22:56 420

原创 【拼多多笔试题】小熊战斗力

解题思路对小熊战斗力进行排序,糖果填充的饥饿值进行排序 遍历小熊,对其需要的饥饿值在谈糖果中进行二分查找,查找的终止条件为,找到小于等于当最接近小熊需要饥饿值得数字,然后小熊的需要饥饿值减去糖果可以提供的值,如果差值大于0,则继续二分查找,知道二分查找返回-1或者是小熊饥饿值为0。在这里不通过二分直接循环遍历糖果值也是可以AC的。import java.util.ArrayList;impor

2017-09-03 11:18:29 1622

原创 [编程题] 分饼干

易老师购买了一盒饼干,盒子中一共有k块饼干,但是数字k有些数位变得模糊了,看不清楚数字具体是多少了。易老师需要你帮忙把这k块饼干平分给n个小朋友,易老师保证这盒饼干能平分给n个小朋友。现在你需要计算出k有多少种可能的数值 输入描述: 输入包括两行:第一行为盒子上的数值k,模糊的数位用X表示,长度小于18(可能有多个模糊的数位)第二行为小朋友的人数n输出描述: 输出k可能的数值种数,保证至少为

2017-08-31 11:12:50 858

原创 【搜狐笔试题】产品包装

解题思路从面积大的开始取,一个6*6的箱子可以装一块5*5的产品剩下11个 1*1的空间。装一块4*4的板子剩下5个2*2的空间。 一个6*6的箱子可以取四块3*3的空间,在一块6*6箱子上装3*3的产品数目为 1 2 3 4 的时候剩下 2*2的板子分别为 5 3 1 0,剩余部分还可以去1*1的产品。 若2*2的板子有剩余,还可以分割成1*1的板子。#include<cstdi

2017-08-31 10:41:26 685

原创 [编程题]堆砖块

链接:https://www.nowcoder.com/questionTerminal/040924ba0e64423b8a3fe2f75a56934a 来源:牛客网小易有n块砖块,每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单,砖块堆砌就是简单的高度相加,某一块砖只能使用在一座塔中一次。小易现在让能够堆砌出来的两座塔的高度尽量高,小易能否完成呢。 输入描述:

2017-08-31 10:33:40 2145

原创 [编程题] 小易记单词

小易参与了一个记单词的小游戏。游戏开始系统提供了m个不同的单词,小易记忆一段时间之后需要在纸上写出他记住的单词。小易一共写出了n个他能记住的单词,如果小易写出的单词是在系统提供的,将获得这个单词长度的平方的分数。注意小易写出的单词可能重复,但是对于每个正确的单词只能计分一次。 输入描述: 输入数据包括三行:第一行为两个整数n(1 ≤ n ≤ 50)和m(1 ≤ m ≤ 50)。以空格分隔第二行

2017-08-30 15:59:48 326

原创 [网易编程题] 涂棋盘

小易有一块n*n的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。 输入描述: 输入数据包括n+1行:第一行为一个整数n(1 ≤ n ≤ 50),即棋盘的大小接下来的n行每行一个字符串表示第i行棋盘的颜色,’W’表示白色,’B’表示黑色输出描述: 输出小易会涂画的区域大小输入例

2017-08-30 15:50:04 791

原创 【搜狐笔试题】Kolakoski数列

解题思路因为示例中第二个数组数字重复的次数为第一个序列的数字,因次可以定义两个指针,一个用于标示给定的数组的角标,一个用于标示第一个数组当前序列的位置,通过第一个数组的当前指针指向的数字作为个数,给定数组指针指向的值作为值,生成数组的下一个值,然后分别移动两个指针。import java.util.Scanner;public class Main { private static void

2017-08-30 15:32:30 426

原创 【中兴笔试题】外星母舰

解题思路定义排序规则,每个数字按照二进制1的个数进行排序,当个数相等时,按照数字大小进行排序,然后输出排序后数组的前M个字符。import java.util.Arrays;public class Solution { class Data implements Comparable<Data> { int num; int one; @Ov

2017-08-30 15:21:15 868

原创 【中兴笔试题】三角形面积

解题思路这里先补充几个公式:余弦定理:a²=b²+c²-2bc*cosA三角形面积公式:S=1/2absinC=1/2acsinB=1/2bcsinA三角形面积分三种情况 - 第一种相离 - 第二种包含 - 第三种相交import java.math.BigDecimal;public class Solution { final double PI = 3.141592

2017-08-30 15:17:56 661

原创 [编程题] 奇怪的表达式求值

常规的表达式求值,我们都会根据计算的优先级来计算。比如/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 )。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少 输入描述: 输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9. 保证表达式都

2017-08-25 22:45:24 309

原创 [编程题] 集合

小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性. 小易的老师给了小易这样一个集合: S = { p/q | w ≤ p ≤ x, y ≤ q ≤ z } 需要根据给定的w,x,y,z,求出集合中一共有多少个元素。小易才学习了集合还解决不了这个复杂的问题,需要你来帮助他。 输入描述: 输入包括一行: 一共4个整数分别是w(1 ≤ w ≤ x),x

2017-08-25 22:44:08 327

原创 [编程题] 工作安排

现在有n位工程师和6项工作(编号为0至5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能够胜任0号,4号,5号工作)。现在需要进行工作安排,每位工程师只能被安排到自己能够胜任的工作当中去,两位工程师不能安排到同一项工作当中去。如果两种工作安排中有一个人被安排在的工作序号不一样就被视为不同的工作安排,现在需要计算出有多少种不同工作安排计划。 输入描述: 输

2017-08-25 22:42:12 370

原创 二叉树中和为某一值的路径

题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题思路 前序遍历,遍历时记录当前的路径和 总和。import java.util.ArrayList;public class erchashuzhongheweimouyizhidelujing { public void getPat

2017-08-23 17:29:52 263

原创 【今日头条2017内推】调度问题

解题思路首先对所有的任务按照 提出时间,优先级,所需时间进行排序,即提出时间相等时按照优先级排序,优先级也相等时按照所需时间进行排序。可以维护一个长度为M的堆,M为程序员员的数量,这个堆中存储的值是程序员完成某个任务的完成时间点,排序之后依次取任务,然后在堆中取一个程序员,取堆顶的那个,这个任务的完成时间即为提出任务时间和堆中取出的时间的较大值加上任务所需时间。然后再将这个时间更新进堆中。 需要注

2017-08-23 17:19:19 550

原创 【今日头条2017内推笔试题】数组序列

解题思路 寻找数组的中的最小值,则包含最小值的序列的最大乘积值为data[start]*data[end]*min。 最终的最大值分两种情况包含min,即上面所列的表达式不包含min,即最大值在[start,min角标-1] 和[start,min角标+1]这两段中进行递归调用寻找最终的最大值。import java.util.Scanner;public class Main {

2017-08-23 17:11:34 888

原创 【今日头条2017内推笔试题】二维平面整数点集

解题思路 对所有的坐标点对y进行排序,然后按y排序顺序由大到小进行遍历,定义一个变量来保存当前已经遍历坐标点的最大x值,如果,后序节点的x值大于保存的最大x值,则输出。因为已经对y按大小进行排序,越往后遍历y值越小,而这个点想为边界点只能x值大于已经遍历序列的最大x值。并且这个x是逐渐递增的,题意要求x从小到大输出,因而直接输出即可。import java.util.Arrays;import

2017-08-23 17:05:15 2107 2

原创 二叉搜索树的后序遍历序列

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题思路二叉搜索树具有左孩子小于当前节点,右孩子大于当前节点的性质,后序遍历及左右根,因而后序遍历序列中的最后一个节点即为根节点,然后对前面的节点进行遍历,小于根节点的属于左子树,大于根节点的属于右子树,找到分界点,如果在分界点右侧存在大于根节点的节点

2017-08-23 16:55:38 285

原创 从上往下打印二叉树

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。解题思路定义队列,进行广度优先遍历。import java.util.ArrayList;import java.util.LinkedList;public class congshangwangxiadayinerchashu { public ArrayList<Integer> PrintFromTopToBot

2017-08-23 16:48:38 166

原创 栈的压入、弹出序列

题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路定义辅助栈,遍历弹栈序列,如4,5,3,2,1,如果该元素位于辅助栈顶,则弹栈,如果

2017-08-22 16:21:20 179

原创 包含min函数的栈

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。解题思路定义一个辅助栈空间,压栈时,数据栈正常压栈即可, 对于辅助栈,如果辅助栈为空,直接压即可入元素,如果不为空,则将当前压入的元素和辅助栈栈顶元素作比较,小于栈顶元素,则压入,否则,再压住栈顶元素。补充:实际编程是很少使用Java的Stack对象的,因为其父对象为Vector,是多线程安全的,通过加锁实现,效率较

2017-08-22 10:12:51 214

原创 SpringMVC注册拦截器

方法1:  拦截所有URL mvc:interceptors> bean class="cn.ciss.interceptor.LoginInterceptor" />mvc:interceptors>   方法2:  在拦截指定URL mvc:interceptors> mvc:interceptor>

2017-08-22 09:41:37 492

剑指Offer题目Java实现代码

剑指Offer题目Java实现代码 为什么资源分不能选择0。

2017-08-17

空空如也

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

TA关注的人

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