自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

恒河沙无数

面壁十年终破壁,难酬蹈海亦英雄

  • 博客(9)
  • 收藏
  • 关注

原创 合唱团

有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 输入描述: 每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包含 n 个整数,按顺序表示每...

2018-03-31 11:37:36 228

原创 Find Bottom Left Tree Value

leetcode第513题,给定一个二叉树,找出最后一层最左边的元素。 首先,牵扯到二叉树的层结构,第一反应就是广搜。基本思路就是,每次从左到右遍历节点形成一层,到最后的时候如果为空的层,代表循环结束。 这里存在一个问题,当遍历到空层的时候,实际我们已经丢失了最后一层的信息,所以这里需要我们提前判断一下是不是到了最后一层。# Definition for a binary tree n...

2018-03-27 10:32:49 226

原创 Evaluate Reverse Polish Notation

leetcode第150题,求解逆波兰表达式。 这个题套路很清楚,用栈进行模拟就可以了,但是这里面有几个需要注意的地方。因为是要依次把token入栈,所以遍历token数组是大循环的条件。最后结果返回也是在token数组用完之后。除法和减法要注意操作数有先后关系。没有操作符的时候,直接返回最后一个操作数python中的除法有点奇怪,需要做一定的修改class Solution...

2018-03-27 09:19:26 176

原创 Sum of Two Integers

leetcode第371题,不用加减法实现加法。 不用运算符的题目多半就要靠位运算去解决。考虑两个二进制数相加,第一步是用异或,得到相加的原始结果,此时并没有考虑进位。按照二进制加法原则,进位就是两个1碰到一起,所以可以用与运算来模拟,注意这里还需要左移一位,让进位加到后面的一位上才可以。class Solution {public: int getSum(int a, int...

2018-03-27 08:55:23 214

原创 move zero

leetcode第283题,把所有的0移动数组后半部,其余元素的相对顺序不改变,要求原地操作。 其余元素相对顺序不能变,就意味着双指针法只能一前一后的使用,而不能一头一尾的使用。与数组去重题类似,i为游标指针,start为指向0数组第一个元素的指针,i放过所有为0的元素,遇到不为0的元素时,和start位置的进行交换,交换后start后移继续指向0数组第一个元素,这是与数组去重不同的地方。sta...

2018-03-26 19:59:26 330

原创 Coin Change

leetcode第332题,硬币找零,使用最少数量的指定硬币凑出目标数。 深度搜索,逐个加入硬币,当数额与目标数相等时,记录一下所用的硬币数,找出其中最小的就好了,但是这样做目标数很大的时候就会超时。class Solution(object): def coinChange(self, coins, amount): """ :type coins:...

2018-03-23 11:25:02 396

原创 Sort Colors

leetcode第75题,打乱的0,1,2排序 可以先用计数排序,由于只有0,1,2这三个数字,因此完全可以先统计各有多少个,然后在数组中重写一遍即可。class Solution: def sortColors(self, nums): """ :type nums: List[int] :rtype: void Do not r...

2018-03-13 09:59:40 206

原创 Redundant Connection

leetcode 684题,一个图是由一棵树多一条边,要求删去那条边,然后形成一棵树。 此题可用并查集来做,思路是,遍历所有的边,并用并查集来做归属划分,如果一个边的两个node分属于不同的集合,说明这条边不是多余的,是起到了联通作用的,相反,如果node已经被前面的边连入到一个集合中了,那么说明这条边是多余的了。class Solution: def findRedundant...

2018-03-13 09:20:50 291

原创 word search

leetcode 第79题,图上的深搜题。 第一步,先要写个遍历循环,找到搜索的起点,也就是首字母。 第二步,从起点出发开始搜索,搜索时主要要记录已经走过的地方,这里可以使用一个二维的数组单独来记录,或者走过的地方标识为‘#’,搜索后恢复这个位置的字符。 注意,每次搜索时,都要比较word和当前路径已经遍历到的字符,这里可以使用增量式的比较方法,每次比较一个字符即可。class So...

2018-03-09 10:18:37 1015

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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