
面试相关
闪光的岁月
公号:闪光的岁月,博客:www.laughitover.com
展开
-
lintcode栅栏染色
描述:我们有一个栅栏,它有n个柱子,现在要给柱子染色,有k种颜色可以染。必须保证任意两个相邻的柱子颜色不同,求有多少种染色方案。样例:n = 3, k = 2, return 6 post 1, post 2, post 3way1 0 0 1 way2 0 1 0way3 0原创 2016-08-18 14:43:13 · 845 阅读 · 0 评论 -
lintcode打劫房屋
描述:假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。样例:给定 [3, 8, 4], 返回 8.原创 2016-08-18 14:17:13 · 350 阅读 · 0 评论 -
lintcode爬楼梯
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法返回 3解题:如果把前几项列出来就能看出这是个斐波那契数列public int climbStairs(int n){ if(n<0) return 0; if(n==0||n==1原创 2016-08-18 11:09:07 · 403 阅读 · 0 评论 -
lintcode斐波那契数列
查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...method1:递归法(耗时太长)public int fibonacci(int n){ if(n==1){原创 2016-08-18 10:27:33 · 409 阅读 · 0 评论 -
面试系列之网络相关
一、请详细介绍一下TCP协议建立连接和终止连接的过程?1、建立连接:三次握手(1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=1)到服务器B,并进入SYN_SEND状态,等待服务器B确认。(2) 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=x+1),同时自己也发送一个SYN包(SYN=1),即SYN+ACK包,此时服务器B进入SYN_RECV状态。(3...原创 2019-02-25 16:08:17 · 357 阅读 · 0 评论 -
每个数均可表示成若干个完全平方数(1,4,9,16,25……)之和
JAVA编程:每个数均可表示成若干个完全平方数(1,4,9,16,25……)之和,完全平方数是可重复,求出n的一种组合要求完全平方数的个数最少。如:12=4+4+4;13=4+9package test;import java.util.Scanner;public class Main { static int data[]=new int[10000001]; publ原创 2016-09-22 11:24:04 · 2539 阅读 · 2 评论 -
大数相乘
前两天乐视二面,上来就让我写大数相乘,没写出来,回来一查好常见的题!!总结一下:逐位相乘处理进位法思路:用char数组处理每一位,乘积是逐位相乘,也就是aibj,结果加入到积C的第i+j位,最后处理进位即可,例如:A =17 = 1*10 + 7 = (7,1)最后是十进制的幂表示法,幂次是从低位到高位,以下同。B=25 = 2*10 + 5 = (5, 2);C = A * B =原创 2016-09-25 11:39:14 · 464 阅读 · 0 评论 -
10级台阶,一次一步或两步,打印所有的走法
public class nm123 { public static void main(String[] args) { printSteps("", 10); } private static void printSteps(String preSteps, int leftSteps) { if(preSteps == null) preSteps =转载 2016-10-08 21:10:31 · 4205 阅读 · 0 评论 -
n个正整数,联接成一排,组成一个最小(最大)的多位整数
描述:设有n个正整数,将它们联接成一排,组成一个最小(最大)的多位整数。程序输入:n个数程序输出:联接成的多位数例如:n=2时,2个整数32、321连接成的最小整数为:32132n=4时,4个整数55、31、312、33 联接成的最小整数为:312313355思路:两个方向:a.先组合,后排序,b.先排序,后组合,但是要注意:A=’321’,B=’32’,按照标准的字符串比较规则因为A>B原创 2016-10-08 20:48:58 · 7231 阅读 · 0 评论 -
分割单词
题意:把一个集合的单词按照每行L个字符放,每行要两端对齐,如果空格不能均匀分布在所有间隔中,那么左边的空格要多于右边的空格,最后一行靠左对齐。思路:没有什么特别算法,就是模拟,主要分情况判断。首先分两大类,末行和非末行;然后末行所有单词间放一个空格,最后面补充空格;非末行再分两类,如果只有一个单词就靠左放,右边补空格;如果有多个单词,即计算有几个间隔num和几个多余的空格extra(除每两个单转载 2016-10-08 21:03:43 · 1248 阅读 · 0 评论