- 博客(548)
- 资源 (4)
- 收藏
- 关注
原创 牛客网 好多鱼
牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证: 1、放进去的鱼是安全的,不会被其他鱼吃掉 2、这条鱼放进去也不能吃掉其他鱼
2017-03-13 10:59:42 964
原创 LeetCode Single Number III
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums = [1,
2017-01-02 22:27:55 637
原创 Golang中make与new的区别
golang 中有两个内存分配机制 :new和make,二者有明显区别.new:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。其自身是一个指针.可用于初始化任何类型。make: 返回一个有初始值(非零)的T类型,而不是*T,其只能用来初始化:slice,map和channel三种类型。package main import ( "fmt" )
2016-12-21 20:06:45 1354
原创 Golang Display递归打印
《The Go Programming Language》笔记Golang的反射由reflect包提供支持,有两个重要类型:一个Type表示一个Go类型,它是一个接口。一个Value可以持有任意类型的值。import ( "fmt" "reflect" "strconv")func Display(name string, x interface{}) { fmt.
2016-11-30 15:09:49 1721
原创 Golang 并发非阻塞缓存
《The Go Programming Language》笔记import "sync"type Func func(key string) (interface{}, error)type result struct { value interface{} err error}type entry struct { res result ready chan
2016-11-30 10:39:21 2762
原创 Golang 并发的退出
《The Go Programming Language》笔记关闭一个channel,操作channel之后的代码可以立即被执行,并且会产生零值。广播机制:用关闭一个channel来进行广播。创建一个退出channel,不会向这个channel发送任何值。import ( "flag" "fmt" "io/ioutil" "os" "path/filepath
2016-11-29 14:02:56 4795
原创 Golang 目录文件数量和大小统计
《The Go Programming Language》笔记import ( "flag" "fmt" "io/ioutil" "os" "path/filepath" "sync" "time")//获取目录dir下的文件大小func walkDir(dir string, wg *sync.WaitGroup, fileSizes c
2016-11-29 12:46:01 6968
原创 Golang 排序
《The Go Programming Language》 笔记//sorting.gopackage sortingimport ( "fmt" "os" "sort" "text/tabwriter" "time")type Track struct { Title string Artist string Album st
2016-11-28 15:34:30 1563
原创 Golang 实现Bit数组
《The Go Programming Language》 笔记package mainimport ( "bytes" "fmt")const target int = 32 << (^uint(0) >> 63) //判断当前系统是32位还是64位type IntSet struct { words []uint}func (s *IntSet) Has(x
2016-11-28 11:20:33 3246
原创 爱奇艺2017校园招聘笔试题
成长值计算 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 爱奇艺累计有2000万会员,为了提高会员权益以及减少运营成本,我们需要对用户分等级差异化运营,为此我们制定了用户成长体系,按成长值(最小为0)划分为不同等级。成长值计算公式为: 会员成长值=每天成长值+任务成长值 现在我们输入一组数
2016-10-17 23:24:13 5383
原创 去哪儿2017校园招聘笔试题
import java.util.Scanner;/** * filename extension * 时间限制:C/C++语言 1000MS;其他语言 3000MS * 内存限制:C/C++语言 65536KB;其他语言 589824KB * 题目描述: * Please create a function to extract the filename extension from
2016-10-10 22:18:10 3257
原创 小米2017校园招聘笔试题
句子反转 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 输入 输入数据有多组,每组占一
2016-09-23 21:44:28 7670 2
原创 LeetCode word-break
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s =”leetcode”, dict =[“leet”, “co
2016-09-22 08:20:05 539
原创 滴滴2017校园招聘笔试题
import java.util.*;/** * 题目大意:n*m格迷宫,1代表青蛙可以通过,0不能通过 * 青蛙体力值P,每次走一步,横向走消耗体力值1,向下走不消耗体力, * 向上走消耗体力值3. * 青蛙初始位置(0,0),迷宫出口(0,m-1) * 求青蛙走出迷宫的路径 */public class Main { static class Node { i
2016-09-18 19:31:21 1412
原创 猿辅导2017校园招聘笔试题 求和为0的最长连续子数组
题意:给定一个数组,数组中元素的值只能是1或者-1,求其和为0的最长连续子序列的长度;数组为1,-1,1,-1,1,-1,1,-1,其结果为:8数组为1,1,-1,1,1,-1,-1,其结果为:6import java.util.HashMap;import java.util.Map;import java.util.Scanner;/** * dp[i] = arr[0] + arr[1
2016-09-17 17:37:48 3100
原创 Leetcode 102. Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20
2016-09-16 19:28:03 390
原创 搜狗2017校园招聘笔试题
第二题 一个字符串的最大回文前缀长度题目描述:求一个字符串的最大回文前缀长度。回文是指正反方向读起来都一样的字符串,比如“abcdcba”就是一个回文。输入一个文本文件,至少包含一个字节。每个字节是一个字符。最大长度可能有几十万字节。输出最大回文前缀的长度。样例输入sogou 样例输出1import java.util.Scanner;public class Main { public
2016-09-16 12:06:13 3029
原创 LeetCode 274.H-Index
Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher’s h-index.According to the definition of h-index on Wikipedia: “A scien
2016-09-15 20:23:11 371
原创 网易2017校园招聘笔试题 最大的奇约数
小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数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 +
2016-09-15 16:29:58 1509 3
原创 网易2017校园招聘笔试题 优雅的点
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。 输入描述: 输入为一个整数,即为圆半径的平方,范围在32位int范围内。
2016-09-15 07:54:02 1996
原创 网易2017校园招聘笔试题 计算糖果
A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息: A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数. 现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。 输入描述: 输入为一行,一共4个整数,分别为A -
2016-09-14 22:32:28 1121
原创 网易2017校园招聘笔试题 买苹果
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。 输入描述: 输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果输出描述: 输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1输入例子: 20输出例子:
2016-09-14 21:52:07 2637 1
原创 网易2017校园招聘笔试题 跳石板
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1
2016-09-14 21:20:15 1813
原创 网易2017校园招聘笔试题 数字翻转
对于一个整数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)
2016-09-12 21:48:31 1710 1
原创 网易2017校园招聘笔试题 回文序列
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前
2016-09-12 21:46:50 4866 4
原创 LeetCode House Robber II
After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a cir
2016-09-11 18:25:47 354
原创 LeetCode House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses
2016-09-11 17:25:29 362
原创 奇虎360 2017校招笔试题
最强大脑 时间限制:C/C++语言 1000MS;其他语言 3000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 小B乘火车和朋友们一起在N市到M市之间旅行。她在路途中时睡时醒。当她醒来观看窗外的风景时,注意到每个火车站都有一种特别颜色的旗帜,但是她看到的旗帜仅仅是经过的一小部分。小B在乘车过程中有两次清醒的时间,她到达旅程终点时处于睡梦中。出站时,
2016-09-10 21:20:24 5768
原创 多数组K大数
题目描述给定两个有序数组arr1和arr2,在给定一个整数k,返回两个数组的所有数中第K小的数。 例如: arr1 = {1,2,3,4,5}; arr2 = {3,4,5}; K = 1; 因为1为所有数中最小的,所以返回1;arr1 = {1,2,3}; arr2 = {3,4,5,6}; K = 4; 因为3为所有数中第4小的数,所以返回3;要求:如果arr1的长度为N,arr
2016-09-07 23:18:10 549
原创 滴滴2017校园招聘笔试题
/** * 以第i个元素结尾且和最大的连续子数组实际上, * 要么是以第i-1个元素结尾且和最大的连续子数组加上这个元素, * 要么是只包含第i个元素, * sum[i] = max(sum[i-1] + a[i], a[i]) */public class Main { private static long solve(int[] arr, int n) { l
2016-09-07 13:26:59 2376
原创 京东2017校园招聘笔试题 幸运数
题目描述:4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字。前几个幸运数字是:4,7,44,47,74,77,444,447…现在输入一个数字k,输出第k个幸运数 输入输出我忘了。 样例输入 3 5 100 10000000 样例输出 74 744747 44774447447477474444447/** * 将4和7看成二进制0和1
2016-09-06 12:38:35 2907 2
原创 京东2015校园招聘技术类笔试题
给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。例如:” i am a little boy. “,变成”i am a little boy”,语言不限,但不要用伪代码作答,函数输入输出请参考如下的函数原型: 1 2 3 C++函数原型: void FormatString(char
2016-09-03 13:47:25 1953
原创 美团 字符编码
题目描述请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。输入描述: 每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。输出描述: 一行输出最短的编码后长度。输入例子: MT-TECH-TEAM输出例子: 33//哈夫曼编码public class Main { private static int solve(String str) {
2016-08-31 14:54:02 2492
原创 顺时针旋转矩阵
有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。 测试样例: [[1,2,3],[4,5,6],[7,8,9]],3 返回:[[7,4,1],[8,5,2],[9,6,3]]//顺时针旋转矩阵 public int[][] rotateMatrix(int[][] mat, int
2016-08-25 19:33:36 1256
原创 OutputStream 源码阅读
//所有字节输出流实现类的基类public abstract class OutputStream implements Closeable, Flushable { // 将指定的字节写入输出流 public abstract void write(int b) throws IOException; // 将指定的byte数组的字节全部写入输出流 public vo
2016-08-25 18:49:40 514
原创 InputStream 源码阅读
//表示所有字节输入流实现类的基类。它的作用就是抽象地表示所有从不同数据源产生输入的类public abstract class InputStream implements Closeable { private static final int MAX_SKIP_BUFFER_SIZE = 2048; // 从输入流中读取数据的下一个字节,以int返回 public abs
2016-08-25 16:48:06 488
原创 BAT实习内推 按照左右半区的方式重新组合单链表
给定一个单链表的头部节点head,链表长度为N。 如果N为偶数,那么前N/2个节点算作左半区,后N/2个节点算作右半区; 如果N为奇数,那么前N/2个节点算作左半区,后N/2+1个节点算作右半区; 左半区从左到右依次记为L1->L2->…,右半区从左到右依次记为R1->R2->…。请将单链表调整成L1->R1->L2->R2->…的样子。 例如: 1->2->3->4 调整后:1->3->2->4
2016-08-24 20:35:59 423
原创 BAT实习内推 最大的LeftMax与rightMax之差绝对值
给定一个长度为N的整型数组arr,可以划分成左右两个部分: 左部分arr[0..K],右部分arr[K+1..arr.length-1],K可以取值的范围是[0,arr.length-2] 求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少? 例如: [2,7,3,1,1] 当左部分为[2,7],右部分为[3,1,1]时,左部分中的最大值减去右部分最大值的绝对值为4; 当左部分
2016-08-24 19:21:53 538
转载 深入分析Java序列化与反序列化
序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍Java序列化的相关内容。主要涉及到以下几个问题:怎么实现Java的序列化为什么实现了java.io.Serializable接口才能被序列化transient的作用是什么怎么自定义序列化策略自定义的序列化策略是如何被调用的ArrayLi
2016-08-24 15:58:53 815
转载 Java异常机制
JAVA异常异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。Java异常类层次结构图:图1
2016-08-24 14:42:21 558
计算机端口TCPIP详细介绍
2011-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人