LeetCode笔记:Weekly Contest 274
Posted Espresso Macchiato
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode笔记:Weekly Contest 274相关的知识,希望对你有一定的参考价值。
1. 题目一
给出题目一的试题链接如下:
1. 解题思路
这一题挺直接的,就是看是否存在一个b出现在了a的前方。
2. 代码实现
给出python代码实现如下:
class Solution:
def checkString(self, s: str) -> bool:
b = False
for ch in s:
if ch == 'a':
if b:
return False
else:
b = True
return True
提交代码评测得到:耗时52ms,占用内存14.1MB。
2. 题目二
给出题目二的试题链接如下:
1. 解题思路
这一题事实上也简单,因为就是考察存在laser的连续两层,然后其存在的激光数目就是n*m。因此最终的结果就很简单了。
2. 代码实现
给出python代码实现如下:
class Solution:
def numberOfBeams(self, bank: List[str]) -> int:
s = []
for line in bank:
cnt = Counter(line)['1']
if cnt > 0:
s.append(cnt)
if len(s) <= 1:
return 0
n = len(s)
s = [s[i]*s[i+1] for i in range(n-1)]
return sum(s)
提交代码评测得到:耗时224ms,占用内存16.3MB。
3. 题目三
给出题目三的试题链接如下:
1. 解题思路
这一题同样很简单,事实上这次的4道题感觉除了最后一题都很简单,只要做一个排序然后按照题意就能直接搞定了。
2. 代码实现
给出python代码实现如下:
class Solution:
def asteroidsDestroyed(self, mass: int, asteroids: List[int]) -> bool:
asteroids = sorted(asteroids)
for m in asteroids:
if m > mass:
return False
mass += m
return True
提交代码评测得到:耗时1283ms,占用内存28MB。
4. 题目四
给出题目四的试题链接如下:
想了两周还是没想出来,就还是放弃吧,唉……
以上是关于LeetCode笔记:Weekly Contest 274的主要内容,如果未能解决你的问题,请参考以下文章