问题:假设一段楼梯共15个台阶,小明一步最多能上3个台阶,那么小明上这段楼梯一共有多少种方法? 解析:从第15个台阶上往回看,有3种方法可以上来(从第14个台阶上一步迈1个台阶上来,从第13个台阶上一步迈2个台阶上来,从第12个台阶上一步迈3个台阶上来),同理,第14个.13个.12个台阶都可以这样推算,从而得到公式f(n) = f(n-1) + f(n-2) + f(n-3),其中n=15.14.13.....5.4.然后就是确定这个递归公式的结束条件了,第一个台阶只有1种上法,第二个台阶有2…
剑指Offer--京东实习笔试题汇总 编程题1 题目的详细信息已经记不住,只能大致描述一下,就是求最有价值的的委托信息. n.s.B.S其中n代表委托信息,s要求的最有价值的委托信息的个数,B代表买入.S代表卖出,S条卖出按照从小到大,买入按照从大到小. 输出: 6 2 B 50 2 S 50 1 S 20 2 S 30 1 B 40 4 B 50 6 输出: B 50 8 B 40 4 S 20 2 S 30 1 (备注:6代表委托信息的个数.2代表表示买入和卖出委托信息各返回2个 ,其中每行…
剑指Offer--京东校招笔试题+知识点总结 笔试感言 经过一系列的笔试,发觉自己的基础知识还是比较薄弱的,尤其是数据结构和网络,还有操作系统.工作量还是很大的.做到精确制导的好方法就是在网上刷题,包括牛客和赛马网.另外,赛马网的编程IDE实在是不敢恭维.在本地运行正确,在他那居然提示全部数据未通过. 关键是在京东投的是Android岗,我只能说总体上Android确实比Java岗容易,但是自己的重心还是放在Java后台研发的. 网络方面,其中考到FTP端口.TCP.HTTP等. 默认情况下FT…
问题描述:一位酒商共有5桶葡萄酒和1桶啤酒,6个桶的容量分别为30升.32升.36升.38升.40升和62升,并且只卖整桶酒,不零卖.第一位顾客买走了2整桶葡萄酒,第二位顾客买走的葡萄酒是第一位顾客的2倍.那么,本来有多少升啤酒呢?解析:由于该酒商只卖整桶酒,简单分析几个桶的容量可知,第二位顾客必须买走剩下的3桶葡萄酒才有可能是第一位顾客的2倍.假设第一位顾客买走的葡萄酒共L升,那么第二位顾客买走的是2L升.也就是说,葡萄酒的总数应该能被3整除.所以,解法就呼之欲出了. Python 解法1 b…
https://blog.csdn.net/su_bao/article/details/81072849 0.说在前面的话 链表结构,说难不难,说易不易,一定要亲自编程实现一下.其次就是一定要耐心,慢慢去体会其中的道道,博主一开始也是有点懵逼的,后来仔细琢磨了一下终于搞明白了,相信聪明的你也一定可以,有问题可以留言交流.1.单链表结构 2.反转的想法 建立三个变量,L.M.R互相赋值迭代,并建立指向关系,从而实现单链表的反转.3.python代码实现 class Node(object):  …
1. 三次握手四次挥手   tcp建立连接的过程是三次挥手,断开连接是4次挥手. 三次握手:建立连接时 a. 客户端发送syn=1 seq=k给服务器 b. 服务器接收到之后知道有客户端想建立连接, 为了确认, 发送 syn=1 seq=n ACK=1 ack=k + 1 c. 客户端收到后向服务器回复ACK=1 seq=k+1 ack=n+1确认 ,进入连接态, 服务器收到后进入连接态.   四次挥手: a. 主动方发送FIN=1 seq=n,进入结束等待1态 b. 被动方收到后回复ACK=1…
1.下面程序的输出结果是(    ) int x = 3; do { printf(“%d\n”,x -= 2); }while(!(-- x)); 分析:x初始值为3,第一次循环中运行printf函数,参数x -= 2的值为1,输出1,此时x = 1,进行判断!(-- x),x先自减1,为0,取非为1(真),进行第二次循环,x先减2,输出-2,此时x=-2,判断!(-- x),x先自减1为-3,取非为0(假),结束循环 输出结果: 1 -2 2.下面程序的输出结果是(    ) void ma…
前言 第一次网上笔试,被虐的很惨.一是不太习惯,最主要的是还是自己对Python的掌握,还不够熟练.下面是这次阿里笔试相关信息 笔试时间是,2015年8月23日,10:00——12:00 对于笔试题,20道单选题,40分钟.由于时间紧张,没有记录完整 对于附加题,5道题,80分钟.答题时,没看明白怎么答题.可能是除程序之外的内容和程序结果图,需要截图上传:程序应该写在网页上. 我的附加题只写了2行,程序是在附加题规定时间(80分)之外,完成的.下面是附加题及部分答案(仅供参考). 内容 1.请尽…
问题描述:用十进制计算30的阶乘,然后把结果转换成三进制表示,那么该进制表示的结果末尾会有多少个连续0?解析:作为笔试题的话,要想按照题意先把阶乘结果计算出来再转换成三进制最后再数0的个数,时间肯定来不及.也就是说,应该是有更简单的方法.以我们最熟悉的十进制为例,一个数乘以10相当于左移1位而右边补0:了解二进制计算的朋友们应该知道,对一个二进制数乘以2相当于左移1位而右边补0.恭喜,这对于任意素数进制都是成立的.也就是说,把从1到30的整数简单因数分解一下,看看有多少个3,那么题目中最终计算结…
闲来无事,突然看到博客园首页上有人写了篇了华为2018软件岗笔试题解题思路和源代码分享.看了下题目,感觉第一题能做出来,就想着用刚刚学的python试着写一下,花费的时间有点长~~,看来又好长时间没练习算法了. 题目描述 输入两个字母串,将两个字母串都包含的字母用'_'替换后,输出两个字母串的剩余部分. 输入描述: 输入两个字符串,字符串最大长度为100.字符串只包含字母,不可能为空串,区分大小写. 输出描述: 按字符串顺序输出处理后的字符串 示例1 输入 abcd bdef 输出 a_c_ _…