返回顶部
上一页 1 ··· 8 9 10 11 12 13 下一页

2019年8月6日

摘要: 【问题】输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 【思路】我们大家都知道整数在计算机中是以二进制的形式来存储的,因此对于正数或者负数都是0或1的数字组成的。且由于int型为32位,因此我们可以逐一的对每一位进行判断,只需要n & (1<<i)就可以判断第i位是否为1了! 当然 阅读全文
posted @ 2019-08-06 22:01 追着子王小奔跑的顶 阅读(160) 评论(0) 推荐(0) 编辑

2019年8月5日

摘要: 【问题】我们可以用2* 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法? 【思路】假设我们的大矩形为2 * n,我们可以有两种覆盖方式!第一种我们使用横着的2 * 1的小矩形进行覆盖,则下方也必须使用横着的2 * 1的小矩形,因此 阅读全文
posted @ 2019-08-05 11:20 追着子王小奔跑的顶 阅读(130) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 【思路】昨天有个题目是青蛙只能跳一步或者两步,我们可以使用斐波那契数列,那这次青蛙可以跳上1,2,3,…n级,我们应该如何呢? 不要慌,有了前面的思路我们可以很快知道以下表达式:f 阅读全文
posted @ 2019-08-05 11:18 追着子王小奔跑的顶 阅读(115) 评论(0) 推荐(0) 编辑

2019年8月4日

摘要: 【问题】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 【思路】这个方法其实质也类似于斐波那契数列,但这次我们使用递归的方法来解决,首先寻找递归的终止条件,n可以一次减小1也可以减小2,当n小于1时,就算一种结果并返回1。每次运 阅读全文
posted @ 2019-08-04 16:57 追着子王小奔跑的顶 阅读(136) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 【思路】对于一个简单的斐波那契数列,我们需要考虑很多不是算法的问题,而是算法完整性,如果为了保存数据,我们需要一个很大的类型long long,而不是int,由于题中说明了n的范 阅读全文
posted @ 2019-08-04 16:56 追着子王小奔跑的顶 阅读(195) 评论(0) 推荐(0) 编辑

2019年8月3日

摘要: 【问题】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 【思路】既然题目都说 阅读全文
posted @ 2019-08-03 20:37 追着子王小奔跑的顶 阅读(711) 评论(0) 推荐(1) 编辑
 
摘要: 【问题】用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 【思路】我们使用两个栈来进行交换数据,一个为插入栈,另一个为弹出栈,对于插入栈来说,只进行插入数据,而弹出栈进行弹出,如果弹出栈为空了,那么我们就将插入栈中所有数据压入到弹出栈中,这样就可以有队列“先进先出” 阅读全文
posted @ 2019-08-03 20:36 追着子王小奔跑的顶 阅读(883) 评论(0) 推荐(0) 编辑

2019年8月2日

摘要: 【问题】输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 【思路】对二叉树进行重建看起来挺难的,但是当我们使用递 阅读全文
posted @ 2019-08-02 21:19 追着子王小奔跑的顶 阅读(137) 评论(0) 推荐(0) 编辑
 
摘要: 【问题】输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 【思路】看到这个题目,一般都可以想到堆栈结构,遍历所有节点压入栈中,然后在依次弹出即可,但这样就会使用额外空间,效率不高!另一种方法是使用DFS(深度优先)的方法,并利用递归来实现,递归终止条件为p的next为NULL就终止。 阅读全文
posted @ 2019-08-02 21:18 追着子王小奔跑的顶 阅读(120) 评论(0) 推荐(0) 编辑
 
摘要: 【题目】请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 【思路】一开始有人惯性思维,从前向后进行替换,也不可不行,但会发现如果有两个空格,那么“Happy”会被移动两次,这就会使效率变差, 阅读全文
posted @ 2019-08-02 21:13 追着子王小奔跑的顶 阅读(149) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页