假期学习
Loaded_BOOM
这个作者很懒,什么都没留下…
展开
-
2018.1.22
今天学习了两道题1、不使用+号 完成a+b(题目给出提示使用位运算) 没有学习过位运算的相关知识,从网上学习了一些,有了大致的了解,但还是没有解决的办法。 又对应题目百度了一波。看到了递归解法。int add1(int a,int b){ if(b == 0) return a; else return add1(a^b,原创 2018-01-22 16:39:47 · 225 阅读 · 0 评论 -
2018.1.23 第二第八题
两道题:一、 题目:求一个数的阶乘后面有几个0 如11! = 39916800,所以后面有两个0 要求时间复杂度小于O(log N) 思路: 因为有时间复杂度的限制,肯定不能直接算出阶乘 想一想后发现所有末尾出现0的肯定和5有关的,都是5乘一个偶数或者5的倍数乘一个偶数 如5*2 ,15*2,35*2或者直接包括类似10、100的。 但是不用组原创 2018-01-23 17:57:54 · 319 阅读 · 0 评论 -
2018.1.24 看了半天KMP算法没完全搞懂!明天继续
第一道: 只使用一个if语句将一个整数之前的所有正整数存到一个字符串中,同时,3的倍数改为fizz,5的倍数为buzz,既是3的倍数又是5的倍数存fizz buzz。说只能使用一个if语句,所以怎么判断是否为3的倍数,5的倍数就成了问题。(感觉不能用else if吧,要是能用直接判断就好)想到了用循环,核心思想是,每三次改为fizz,然后用一个if判断是否为5的倍数。但是在原创 2018-01-24 17:19:29 · 232 阅读 · 0 评论 -
2018.1.25 关于KMP算法的一些自己的理解。
今天着重看了KMP算法的一些东西。该算法的功能是从一个字符串中判断另一个字符串的存在,即研究的问题是从一个源串中找到标志串的位置。有了昨天的部分了解,今天终于彻底的了解了这个算法。我认为这个算法的核心在于next数组的构造和使用。我认为算法的核心思想是:匹配的过程中,对于遇到的失配情况,不论源串的匹配位置在哪,只要标志串的相同位置失配,移动的位移量是相同的。而next数组就储存了对原创 2018-01-25 22:02:29 · 277 阅读 · 0 评论 -
2018.1.26 学好英语很重要。。
第一道:算法要求是:把列表平面化例子:给[1,2[1,2]],返回[1,2,1,2] ;给[4,[3,[2,[1]]]], 返回 [4,3,2,1]。第一眼看感觉不难,但是题目中也没有说什么数据类型,就给了一个类中的三个函数(仔细一看是给你用的),和一大堆英文解释。看不太懂英文....,于是百度翻译,结合自己的理解终于把题目类中给的三个函数的作用弄明白了。1原创 2018-01-26 20:34:31 · 421 阅读 · 0 评论