Skip to content

Commit 5c68b95

Browse files
Merge pull request #38 from xiaoluome/master
第一周作业#36
2 parents 1334f7a + d555c78 commit 5c68b95

File tree

5 files changed

+68
-0
lines changed

5 files changed

+68
-0
lines changed

Week_01/id_36/LeeCode_1047_36.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#
2+
# @lc app=leetcode id=1047 lang=python3
3+
#
4+
# [1047] 删除字符串中的所有相邻重复项
5+
#
6+
# 思路 : 判断栈顶的元素和即将加入的元素是否相等,相等则弹出栈顶,否则压入栈顶
7+
#
8+
class Solution:
9+
def removeDuplicates(self, S: str) -> str:
10+
stack = ['-']
11+
for s in S:
12+
if s == stack[-1]:
13+
stack.pop()
14+
else:
15+
stack.append(s)
16+
17+
return ''.join(stack[1:])
18+

Week_01/id_36/LeeCode_242_36.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#
2+
# @lc app=leetcode.cn id=242 lang=python3
3+
#
4+
# [242] 有效的字母异位词
5+
#
6+
# 思路 : 空间换时间
7+
#
8+
class Solution:
9+
def isAnagram(self, s: str, t: str) -> bool:
10+
l_list = [0]*(26+97)
11+
12+
for i in s:
13+
l_list[ord(i)] += 1
14+
15+
for i in t:
16+
l_list[ord(i)] -= 1
17+
18+
for i in l_list:
19+
if i != 0:
20+
return False
21+
22+
return True
23+

Week_01/id_36/LeetCode_26_36.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#
2+
# @lc app=leetcode.cn id=26 lang=python3
3+
#
4+
# [26] 删除排序数组中的重复项
5+
#
6+
# 笔记 : 读题目的时候,受到题目中的删除这个词的影响,陷入到如何删除数组中的某一个元素,实际上题目是要求返回不同元素的个数
7+
#
8+
class Solution:
9+
def removeDuplicates(self, nums: List[int]) -> int:
10+
n, count = len(nums), 0
11+
12+
if n < 2:
13+
return n
14+
15+
for i in range(1, n):
16+
if nums[i] != nums[count]:
17+
count += 1
18+
nums[count] = nums[i]
19+
20+
return count + 1
21+

Week_01/id_36/NOTE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
11
# 学习笔记
2+
3+
这是我第一周的学习实战,我专业是学软件工程的,但是由于大学的时候没重视数据结构与算法,那时候只当应付考试了。现在工作快五年了,目前的岗位是技术管理,敲代码的时间越来越少,但是我不想放弃编程,所以我就从算法打基础开始,以备将来跳槽之需。
4+
5+
目前来到极客大学的算法集训营,就是希望给自己压力去突破这个算法,从老师那里学到了实用的五毒神掌的步骤,确实对算法的学习带来了很大的帮助,也希望接下来的算法作业自己能够多多的突破和解锁更多的思维方式。
6+
7+
在做《26.删除排序数组中的重复项》题目的时候,读题目的时候,受到题目中的删除这个词的影响,陷入到如何删除数组中的某一个元素,实际上题目是要求返回不同元素的个数。所以第一步需要先理解题目。所以读懂题目才是接下来思考的第一步。
192 KB
Binary file not shown.

0 commit comments

Comments
 (0)