摘要: 题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 A1:判断数num的最右边一位是不是1,每次右移1位,直到数num变为0 > 要区分正数情况和负数情况,正数右移补0,负数右移补1 A2:避免死循环,不选择右移数num,而是左移flag > 循环次数比较大,32位整数需要循环3 阅读全文
posted @ 2019-08-26 23:14 XieXinBei0318 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 题目:给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]*k[1]*...*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18. 动态 阅读全文
posted @ 2019-08-26 22:28 XieXinBei0318 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 矩阵中的路径 题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e 阅读全文
posted @ 2019-08-26 20:55 XieXinBei0318 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数列 题目:要求输入一个整数n,请你输出斐波那契数列的第n项 A1:教科书方法,递归,但是时间复杂度随着n的增大而递增 > 不实用 A2:可以把得到的数列中间项保存起来,避免重复计算 > 时间复杂度O(n) A3:数据公式(太高级了,不太懂) //O(n)方法,保存中间项 相关题目: 求和( 阅读全文
posted @ 2019-08-25 23:42 XieXinBei0318 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 我原本看不太懂题目, 阅读全文
posted @ 2019-08-25 23:18 XieXinBei0318 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 A:栈是先进后出的数据结构,队列是先进先出的数据结构。 入队push:直接压入栈1 出队pop:若栈2有元素,则取栈顶 若栈2无元素,将栈1的元素逐一压入栈2中,使得栈顶元素到了栈低,栈低元素到了栈顶,实现了 阅读全文
posted @ 2019-08-25 21:31 XieXinBei0318 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 A:前序遍历中第一个为根节点,由前序遍历可以再中序遍历中 阅读全文
posted @ 2019-08-25 21:21 XieXinBei0318 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 A1:因为数字有范围,所以 阅读全文
posted @ 2019-08-25 20:43 XieXinBei0318 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目:从尾到头反转链表。输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 A1:将链表反转,再从头到尾输出到vector中。 > 改变链表的结构 A2:从头到尾输出链表到vector中,在将vector反抓(反向迭代器) A3:反向输出是一个先进后出的概念,所以可以用栈来实现这个顺序。 阅读全文
posted @ 2019-08-25 16:31 XieXinBei0318 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 A1:正常思路:从头到尾草庙字符串,每次碰到空格字符则把后面的字符后移2字节,再插入“%20”。时间复杂度O(n2) >有重复的字符被 阅读全文
posted @ 2019-08-25 04:10 XieXinBei0318 阅读(256) 评论(0) 推荐(0) 编辑