标签:编程
剑指offer刷题记——丑数
丑数 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。(点我直接练习) 分析 本体难度偏中等,难点集中在如何建立丑数序列。所以首先要明确丑数的实际含义,它和质数的本质区别在于一个数字能被分解的最小因子是2,3,5就符合了丑数的……
剑指offer刷题记——数组中重复的数字
数组中重复的数字 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。(点我直接练习) 分析 一开始在缺乏知识的情况下,我能想到的做法是两个for……
剑指offer刷题记——矩形覆盖
矩形覆盖 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?。 n……
剑指offer刷题记——从尾到头打印链表
从尾到头打印链表 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。(点我直接练习) 分析 仔细读题,只是让我们把链表读到一个向量里(C++指定)或者一个List(python指定)中,然后根据指定的数据结构反转一下即可,由于使用的都是功能性数据结构,对于vector直接反转输出,List使用相同的reverse或者切片输出都可以。 使用到的知……
剑指offer刷题记——替换空格
替换空格 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。(点我直接练习) 分析 短小精悍的题意就不需要额外分析了,使用C++的时候,题目制定使用了char数组,所以必然要考虑的就是如何进行截取,替换的过程。我一开始的思路是只用一遍循环,每查找到一个……
剑指offer刷题记——二维数组查找
开篇 满打满算,还有半年的时间就要去找正式工作了,在念硕士的阶段,每天打的不是code,都是一堆命令的kinds of stuff,虽说Python也断断续续用了一年,但是连续写起来,还是要查查这查查拿,更不用说本科阶段入门CS 的C++。 可以用的OJ平台数不胜数,本科时候大家热衷的PTE,现在从国外火到国内的LeetCode(力扣),以及牛客网的在线编程……