4的幂(Power of Four)

题目描述: 在网上看到一个特别棒的思路,在这里记录一下。 思路: 如果使用循环或者递归的话,此题就容易许多,如果能整除,就一直整除下去,直到不能整除,判断是不是1即可。 不使用循环的情况,是4的幂一定就是2的幂,但是是2的幂不一定是4的幂,是2的幂满足二进制表示中只有一个1,但是判断是否...

2018-09-01 16:15:18

阅读数:17

评论数:0

lintcode904-加一链表

题目描述: 给定一个非负整数,这个整数表示为一个非空的单链表,每个节点表示这个整数的一位。返回这个整数加一。 除了0本身,所有数字在最高位前都没有0。 列表的头节点存的是这个整数的最高位。 样例: 给出链表1 -> 2 -> 3 -&a...

2018-08-06 16:56:55

阅读数:25

评论数:0

lintcode643-Longest Absolute File Path

题目描述: 思路:要找到最长路径的字符个数,需要逐层计算,记录最长的长度即可。          首先根据换行符将字符串拆成一个个的片段,存起来分别判断,在拆分的过程中直接去掉换行符。          层数的判断可以根据每个字符片段开始的‘\t’个数。          如果当前片段...

2018-08-04 15:52:42

阅读数:19

评论数:0

lintcode1314-Power of Two

题目描述:判断是否是2的幂,从二进制角度考虑,一个数的二进制表示中只有一位为1时,这个数就是2的幂,即只要循环遍历一下数的二进制位数,判断1是否只出现了一次。代码:bool isPowerOfTwo(int n) { // Write your code here ...

2018-07-03 13:27:19

阅读数:15

评论数:0

lintcode1259-Integer Replacement

题目描述:求最小的转换次数。这道题最初的想法就是把所有的情况都算一下,然后比较得出最小的。可以递归解决,直到N变成了1。递归想着要耗费大量时间,没想到也通过了,哈哈。代码:int integerReplacement(int n) { // Write your code here...

2018-07-03 12:10:24

阅读数:22

评论数:0

lintcode1017-Similar RGB Color

题目描述:本题中对于一个给定的RGB字符串,找到一个形如“#AABBCC”的字符串使得similarity最大。通过观察可以发现,两两一组,可以分别找差值最小的,因为都是负的,所以肯定最后结果是最大的。当分离出两两一组时,当两个字母相同时,最相近的就是本身,直接放进结果中即可,如果两个字母不相同,...

2018-07-02 12:32:46

阅读数:42

评论数:0

lintcode514-栅栏染色

题目描述:刚看到题目也是不知道怎么做,就尝试了一下过程,发现有规律可循:在第1根柱子,有K种方法;到了第2根柱子,因为允许可以有两个颜色重复,所以就有了K*K中方法;但是到了第3根柱子,就要考虑分情况了:如果第3根柱子和第2根柱子的颜色相同,方法数就是第2根柱子的方法数,这时就要求第2根柱子和第1...

2018-07-02 10:52:29

阅读数:18

评论数:0

lintcode190-下一个排列

题目描述:题目思路:首先理解排列,简单认为排列起点为序列的全升序,终点是序列的全降序,(其实任何一个位置都可以作为起点)。从序列的后方逐渐往前,最终包括整个序列,思考当某一个子序列已经排列成全降序时,下一个排列就是从子序列中所有大于子序列前一个元素的元素中找到最小的,两者进行置换,然后将子序列排列...

2018-06-27 17:24:32

阅读数:12

评论数:0

lintcode392-打劫房屋

题目描述:唯一约束是不能连续拿两个房间的钱,只能是隔一个或者更多。此题可以利用动态规划的想法,利用一个数组arr, arr[i]表示i房间及其以前的可以拿到的最多金钱。    此时针对第i个房间,就有两种情况:1)拿第i个房间的钱,那么就不能拿i-1房间,拿到的钱就是 arr[i-2] + A[i...

2018-05-30 13:30:16

阅读数:20

评论数:0

lintcode540-左旋右旋迭代器

题目描述:简单暴力的求解方法:在生成该迭代器的构造函数中,就将传入的两个vector按照要求的顺序放入一个vector中,剩下的两个方法就是判断下标是否到达数组尾部,返回当前下标的数组元素。代码:class ZigzagIterator { public: /* * @param ...

2018-05-30 12:27:16

阅读数:22

评论数:0

lintcode448-Inorder Successor in BST

题目描述:题目意思在BST中找到中序遍历中某一个节点的后继节点。根据BST的特点,BST的中序遍历是一个有序序列。在此序列中找某一节点的后继,一种普通的方法就是中序遍历该BST,将结果存在数组中,二分查找目标节点的值,然后后一个就是该节点的后继,如果目标节点是数组最后一个元素,则该节点没有后继,返...

2018-05-29 18:38:15

阅读数:14

评论数:0

lintcode202-线段树的查询

题目描述:思路:在查询过程中,可能会遇到三种情况,目标区间在本区间中点的左边; 在本区间中点的右边; 跨越本区间的中点。在左边的情况:从当前节点移动到左孩子节点。在右边的情况:从当前节点移动到右孩子节点。在中间的情况:从中间分开,两边都要考虑,取其大者。递归进行。代码:int query(Segm...

2018-05-28 21:30:31

阅读数:14

评论数:0

lintcode203-线段树的修改

题目描述:思路:线段树的叶子节点就是数组中每一个位置的元素值,所以先找到要修改的位置,即先到达要修改的叶子节点,修改该节点的max值,然后再从叶子节点回到根节点,返回过程中,比较节点的左右孩子的max值,取两者较大者作为本节点的max值,这样无论value值和max值的大小关系,都作为一种情况考虑...

2018-05-28 21:25:43

阅读数:15

评论数:0

lintcode363-接雨水

题目描述:要求能接水的数量。每个位置能不能接水,能接多少水,取决于该位置左右两边的最高高度中的较小者。如果该位置就是从左边开始的最高高度,则该位置不能接水,如果该位置不是左右两边的最高高度,则该位置能接的水量就是左右最高高度中的较小者减去该位置的高度。最左边和最右边不管是不是最高高度,都不能接水。...

2018-05-17 19:50:34

阅读数:17

评论数:0

lintcode370-将表达式转换为逆波兰表达式

题目描述:将表达式处理成逆波兰表达式,主要处理的就是优先级问题,将括号去掉,用操作符的先后顺序表示运算顺序。逆波兰表达式中操作数的顺序和原表达式中操作数的顺序是一样的,也就是说在原表达式遍历过程中,如果判断是操作数,直接放入结果中。重点是操作符的放入顺序,这个是决定运算顺序的关键。操作符一共有 (...

2018-05-16 20:57:51

阅读数:27

评论数:0

lintcode424-逆波兰表达式求值

题目描述:给出已有的逆波兰表达式,根据运算规则计算是比较简单的,遇到的是操作数,string转换成int,压入到栈中,遇到的是操作符时,从栈中弹出两个操作数,进行计算,再把计算结果压入到栈中,遍历完一遍时,栈中的值就是整个表达式的结果。不需要考虑优先级问题以及括号问题。此处需要注意的一点是第一次从...

2018-05-16 19:25:03

阅读数:12

评论数:0

lintcode189-丢失的第一个正整数

题目描述:如果不做空间的要求,可以利用哈希的思想,元素i放在下标为i的位置。然后遍历辅助空间,第一个没有赋值的就是答案。要求常数级别的空间,排序就只能在原数组上进行。不是抹掉原来位置的元素,而是交换,使得下标为i的位置元素为i+1(正整数从1开始). 如果数组元素的范围都是数组长度范围内,交换完成...

2018-05-15 18:44:51

阅读数:18

评论数:0

lintcode137-克隆图

题目描述:本题重点在于避免重复生成节点,避免在构造节点的相邻节点时插入重复节点。为避免超时问题,在遍历图的过程中,就生成新节点,并构造节点的相邻节点。代码:UndirectedGraphNode* cloneGraph(UndirectedGraphNode* node) { //...

2018-05-15 17:40:01

阅读数:24

评论数:0

lintcode176-图中两个点之间的路线

题目描述:对于本题,本能想到深度优先搜索。递归实现, 一直走到当前路线最后一个节点。当递归回到s节点,并且没有找到t节点,才能认为是不存在路线。图中可能有不同的节点指向同一个节点,这样就需要一个数据结构来保存每一个节点的访问情况,只访问没有访问过的节点,这样才不会超时。class Solution...

2018-05-15 15:49:21

阅读数:28

评论数:0

lintcode187-加油站

题目描述:解题思路:往上有好多种思路,在这里写上我认为比较好理解的。            如果当前i,gas[i] - cost[i] < 0, 此加油站是不能作为起点的。            如果某一起点start,在遍历到加油站end时,出现汽车油量cur_gas&a...

2018-05-15 11:05:51

阅读数:12

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭