<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[半夏。的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingpiao190</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingpiao190]]></copyright><item><title><![CDATA[【网易笔试题】战斗点]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/78021665</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/78021665</guid><author>dingpiao190</author><pubDate>Mon, 18 Sep 2017 17:33:24 +0800</pubDate><description><![CDATA[解题思路
重复的点没有必要去增加时间复杂度， 
先把point点简化成没有重复的新数组norepeatvalues以及记录每个新数组的成员point对应的重复次数repeatcounts数组；
两个点可以确定一条直线，假设有一个起始点Point[i]和Point[j],它们俩相连的斜率为k,其它只要和它们相连的点必定与它们在同一条直线上；当然，斜率不存在的极端情况也是要考虑在内的，斜率不存在的点，它]]></description><category></category></item><item><title><![CDATA[【网易笔试题】游戏中挂机]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/78021035</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/78021035</guid><author>dingpiao190</author><pubDate>Mon, 18 Sep 2017 16:52:19 +0800</pubDate><description><![CDATA[解题思路定义排序规则，对字符串进行排序，然后输出即可，排序的规则为两个字符串 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]]></description><category></category></item><item><title><![CDATA[【网易笔试题】游戏卡牌]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/78020968</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/78020968</guid><author>dingpiao190</author><pubDate>Mon, 18 Sep 2017 16:48:34 +0800</pubDate><description><![CDATA[解题思路首先测试样例有错误，应该是输入 
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[]]]></description><category></category></item><item><title><![CDATA[【网易笔试题】成对的括号]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/78020913</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/78020913</guid><author>dingpiao190</author><pubDate>Mon, 18 Sep 2017 16:45:37 +0800</pubDate><description><![CDATA[解题思路将其他字符去掉之后，只剩下括号，遇见左括号入栈，右括号则弹栈，弹栈时无法匹配则返回false。
import java.util.LinkedList;
import java.util.Scanner;public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scann]]></description><category></category></item><item><title><![CDATA[【CVTE笔试题】数字分割]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77892582</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77892582</guid><author>dingpiao190</author><pubDate>Fri, 08 Sep 2017 11:18:46 +0800</pubDate><description><![CDATA[题目描述给定一个数字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]]></description><category></category></item><item><title><![CDATA[【美图笔试题】蚂蚁爬杆]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77887448</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77887448</guid><author>dingpiao190</author><pubDate>Thu, 07 Sep 2017 21:51:03 +0800</pubDate><description><![CDATA[解题思路首先这个题目的样子输出有问题，最快不是4秒，是20秒。最快的时间：在杆左半部分的往左侧爬，在杆右半部分的往右爬，这样需要时间最久的那个蚂蚁就是最快时间，这样依次爬行不存在蚂蚁碰撞的问题。 
最慢的时间：因为涉及到蚂蚁碰撞的问题，我们先分析蚂蚁碰撞的时候发生了什么。 
 
当A和B碰撞的时候分别原路返回，其实我们可以换个角度来看，B原路返回之后走的是原来A应该继续走的路线，A原路返回之后走的是]]></description><category></category></item><item><title><![CDATA[Split Array Largest Sum]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77843895</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77843895</guid><author>dingpiao190</author><pubDate>Mon, 04 Sep 2017 22:27:16 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[[编程题] 构造队列]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77835964</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77835964</guid><author>dingpiao190</author><pubDate>Mon, 04 Sep 2017 11:51:35 +0800</pubDate><description><![CDATA[小明同学把1到n这n个数字按照一定的顺序放入了一个队列Q中。现在他对队列Q执行了如下程序： 
while(!Q.empty())              //队列不空，执行循环{int x=Q.front();            //取出当前队头的值xQ.pop();                 //弹出当前队头Q.push(x);               //把x放入队尾x = Q.]]></description><category></category></item><item><title><![CDATA[[编程题] 洗牌]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77835935</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77835935</guid><author>dingpiao190</author><pubDate>Mon, 04 Sep 2017 11:47:47 +0800</pubDate><description><![CDATA[洗牌在生活中十分常见，现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌，从上到下依次是第1张，第2张，第3张一直到第2n张。首先，我们把这2n张牌分成两堆，左手拿着第1张到第n张（上半堆），右手拿着第n+1张到第2n张（下半堆）。接着就开始洗牌的过程，先放下右手的最后一张牌，再放下左手的最后一张牌，接着放下右手的倒数第二张牌，再放下左手的倒数第二张牌，直到最后放下左手的第一张牌。接着把牌合并起]]></description><category></category></item><item><title><![CDATA[[编程题] 最大的奇约数]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77824250</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77824250</guid><author>dingpiao190</author><pubDate>Mon, 04 Sep 2017 11:45:42 +0800</pubDate><description><![CDATA[小易是一个数论爱好者，并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题： 定义函数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 +]]></description><category></category></item><item><title><![CDATA[[编程题] 计算糖果]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77824096</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77824096</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 17:46:59 +0800</pubDate><description><![CDATA[A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息： 
A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 
现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。  
输入描述: 
输入为一行，一共4个整数，分别为A -]]></description><category></category></item><item><title><![CDATA[[编程题] 买苹果]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77823560</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77823560</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 17:00:05 +0800</pubDate><description><![CDATA[小易去附近的商店买苹果，奸诈的商贩使用了捆绑交易，只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果，小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果，小易将不会购买。  
输入描述: 
输入一个整数n，表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述: 
输出一个整数表示最少需要购买的袋数，如果不能买恰好n个苹果则输出-1输入例子1: 
20输出例子]]></description><category></category></item><item><title><![CDATA[[编程题] 数字翻转]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77823047</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77823047</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 15:59:49 +0800</pubDate><description><![CDATA[对于一个整数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)]]></description><category></category></item><item><title><![CDATA[[编程题] 暗黑的字符串]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77822992</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77822992</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 15:52:53 +0800</pubDate><description><![CDATA[一个只包含’A’、’B’和’C’的字符串，如果存在某一段长度为3的连续子串中恰好’A’、’B’和’C’各有一个，那么这个字符串就是纯净的，否则这个字符串就是暗黑的。例如： 
BAACAACCBAAA 连续子串”CBA”中包含了’A’,’B’,’C’各一个，所以是纯净的字符串 
AABBCCAABB 不存在一个长度为3的连续子串包含’A’,’B’,’C’,所以是暗黑的字符串 
你的任务就是计算出长度为]]></description><category></category></item><item><title><![CDATA[[编程题] 跳石板]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77822774</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77822774</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 15:28:24 +0800</pubDate><description><![CDATA[小易来到了一条石板路前，每块石板上从1挨着编号为：1、2、3……. 
这条石板路要根据特殊的规则才能前进：对于小易当前所在的编号为K的 石板，小易单次只能往前跳K的一个约数(不含1和K)步，即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板，他想跳到编号恰好为M的石板去，小易想知道最少需要跳跃几次可以到达。 
例如： 
N = 4，M = 24： 
4->6->8->1]]></description><category></category></item><item><title><![CDATA[[编程题] 优雅的点]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77822052</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77822052</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 14:13:49 +0800</pubDate><description><![CDATA[小易有一个圆心在坐标原点的圆，小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的，小易现在想寻找一个算法计算出优雅的点的个数，请你来帮帮他。 
例如：半径的平方如果为25 
优雅的点就有：(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0)，一共12个点。  
输入描述: 
输入为一个整数，即为圆半径的平方,范围在32位int范围内。]]></description><category></category></item><item><title><![CDATA[[编程题] 回文序列]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77821992</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77821992</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 14:02:55 +0800</pubDate><description><![CDATA[如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如： 
{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列,  
{1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 
现在给出一个数字序列，允许使用一种转换操作： 
选择任意两个相邻的数，然后从序列移除这两个数，并用这两个数字的和插入到这两个数之前]]></description><category></category></item><item><title><![CDATA[[编程题] 推箱子]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77821878</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77821878</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 13:49:25 +0800</pubDate><description><![CDATA[大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上，有1个玩家、1个箱子、1个目的地以及若干障碍，其余是空地。玩家可以往上下左右4个方向移动，但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子，箱子也会按这个方向移动一格，当然，箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后，游戏目标达成。现在告诉你游戏开始是初始的地图布局，请你求出玩家最少需要移动多少步]]></description><category></category></item><item><title><![CDATA[[编程题] 最大和]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77816672</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77816672</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 11:22:56 +0800</pubDate><description><![CDATA[在一个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]]></description><category></category></item><item><title><![CDATA[【拼多多笔试题】小熊战斗力]]></title><link>https://blog.youkuaiyun.com/dingpiao190/article/details/77816630</link><guid>https://blog.youkuaiyun.com/dingpiao190/article/details/77816630</guid><author>dingpiao190</author><pubDate>Sun, 03 Sep 2017 11:18:29 +0800</pubDate><description><![CDATA[解题思路对小熊战斗力进行排序，糖果填充的饥饿值进行排序 
遍历小熊，对其需要的饥饿值在谈糖果中进行二分查找，查找的终止条件为，找到小于等于当最接近小熊需要饥饿值得数字，然后小熊的需要饥饿值减去糖果可以提供的值，如果差值大于0，则继续二分查找，知道二分查找返回-1或者是小熊饥饿值为0。在这里不通过二分直接循环遍历糖果值也是可以AC的。
import java.util.ArrayList;
impor]]></description><category></category></item></channel></rss>