寄托天下 寄托天下
查看: 6599|回复: 73
打印 上一主题 下一主题

[编程天地] 刷题咯 [复制链接]

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
跳转到指定楼层
楼主
发表于 2017-1-26 03:44:44 |只看该作者 |倒序浏览
2月9号有个重要的面试,要开始努力刷题了!
回应
0

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
沙发
发表于 2017-1-26 03:48:18 |只看该作者
本帖最后由 bibaboo0 于 2017-1-26 04:34 编辑

今天上午刷了昨天没刷完的一道题,Leetcode 418-Sentence Screen Fitting。
本来用naive的方法做,超时。想办法优化了一下,还是超时。最后看了别人的答案,发现那个排名最高的答案看不懂,好不容易找到一个自己理解的解法,写出来,总算通过了,可是只击败了百分之九的人。。郁闷,这才medium咋就这么难呢。虽然还可以再优化一下,但是懒得管咯,看下一题吧。
参考解法:https://discuss.leetcode.com/topic/64964/python-108ms-solution/2

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
板凳
发表于 2017-1-26 04:33:06 |只看该作者
Leetcode 281 --Zigzag Iterator
学习了python中的iterator和生成器的写法。
参考了这个回答https://discuss.leetcode.com/top ... o-1-space-solutions

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
地板
发表于 2017-1-26 05:11:47 |只看该作者
Leetcode 298-Binary Tree Longest Consecutive Sequence
是一个二叉树的题目。
学会了如何在python中使用stack进行dfs.
python中的list真的太好用了,直接用一个list轻松向子节点传递信息:
stack.append([child, cur_count+1])

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
5
发表于 2017-1-26 11:54:56 |只看该作者
Leetcode 425. Word Squares
用dfs的方法做,一开始超时。参考别人的答案,学会了python的一种叫defaultdict的数据结构,对字符串建立前缀索引表,成功通过。击败了百分之九十二的人。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
6
发表于 2017-1-26 19:27:49 |只看该作者
本帖最后由 bibaboo0 于 2017-1-31 04:53 编辑

Leetcode 361. Bomb Enemy
参考了答案之后用了一种类似于动态规划的方法。我发现动态规划的精髓就在于用纪录的方式避免重复计算从而提高效率。另外就是学会了python的zip方法和三目运算符x if y else z

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
7
发表于 2017-1-26 19:52:27 |只看该作者
Leetcode 346. Moving Average from Data Stream
学会了collections.deque的数据结构。学会用float()进行浮点数转换。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
8
发表于 2017-1-26 20:29:59 |只看该作者
本帖最后由 bibaboo0 于 2017-1-26 20:31 编辑

163. Missing Ranges
采用nums=sorted(list(set(nums)))的方式去重,非常方便

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
9
发表于 2017-1-26 21:08:00 |只看该作者
394. Decode String
字符串处理一定要小心。用deque构建stack。用isalpha()和isdigit()进行字符串判断。记住调用函数一定要加括号。遇到括号匹配的问题记得用栈。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
10
发表于 2017-1-27 03:09:42 |只看该作者
66. Plus One
Easy题。学会了python的reversed操作。for i in reversed(xrange(len(digits)))

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
11
发表于 2017-1-27 05:01:01 |只看该作者
317. Shortest Distance from All Buildings
这是一道hard题。用bfs的方法做,感觉复杂度挺高的。一开始超时了。后来答案的启发下,稍微剪枝了一下,就通过了,虽然只击败了36%的人。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
12
发表于 2017-1-27 06:56:06 |只看该作者
305. Number of Islands II
Hard题。自己写了一个union-find类之后就很好做了。另外就是python的这个操作:for (x,y) in [(i-1,j),(i+1,j),(i,j-1),(i,j+1)]。。。真心太方便了。
提交之后直接ac,还是蛮爽的。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
13
发表于 2017-1-29 11:53:00 |只看该作者
昨天是过年的日子,吃饭喝酒玩耍,没有刷题。今天开始恢复。
393. UTF-8 Validation 难度medium 耗时1小时
学会了python中的比特操作。byte>>(8-i)&1

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
14
发表于 2017-1-29 12:28:27 |只看该作者
271. Encode and Decode Strings 难度medium 耗时0.5小时
一个简单的编码解码问题,用添加数字的方法解决。

使用道具 举报

Rank: 4

声望
50
寄托币
779
注册时间
2014-10-1
精华
0
帖子
189
15
发表于 2017-1-29 13:29:20 |只看该作者
288. Unique Word Abbreviation 难度medium 耗时半小时
学会了python中牛逼的数据结构:collections.defaultdict(list)
以及list有牛逼的count()函数

使用道具 举报

RE: 刷题咯 [修改]
您需要登录后才可以回帖 登录 | 立即注册

问答
Offer
投票
面经
最新
精华
转发
转发该帖子
刷题咯
https://bbs.gter.net/thread-2062297-1-1.html
复制链接
发送
关闭

站长推荐

寄托24周年庆,发祝福送寄托币!
寄托24岁生日,邀请寄托的小伙伴在本命年周年庆发出你对寄托的祝福, 可以是简单的一句“生日快乐”, 送出祝福小伙伴将会有寄托币奖励!

查看 »

报offer 祈福 爆照
回顶部