先简单回顾一下,今天预计分析两个题目:
题目叙述:
测资的 Input/Output
题目如果给你 [1,1,2] 那你要把多余的元素删掉,并回传不重复元素个数
python 实作如下:
- python 实作
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
# k 会用来计算不重复元素的位置
k = 1
# j 会走得比较快,把不重复的值,丢给 k 位置储存
for j in range(1, len(nums)):
# 判断第 j 个位置跟第 j-1 的位置,是否不相等,若不相等,就把 nums[k] 储存 nums[j],并 k 向右移动
if nums[j] != nums[j - 1]:
nums[k] = nums[j]
k += 1
return k
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
j = 1
while j < len(nums):
if nums[j] == nums[j-1]:
nums.pop(j)
j -= 1
j += 1
return len(nums)
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
nums[:] = sorted(set(nums))
return len(nums)
题目叙述:
题目会给你一个从小排序到大的资料,跟希望找到的两数相加的和 (target)
你需要找出哪两个位置的值,相加会等於 target
哪两个位置的值相加为 target,只会有一种答案
同一个元素不能加两次
测资的 Input/Output
题目会给你一个递增的数列,跟希望找到的目标总和 (target)
回传一个 list 结构的资料,里面要包含相加会等於 target 的 index
python 实作
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
left = 0
right = len(numbers)-1
while not numbers[left] + numbers[right] == target:
while numbers[left] + numbers[right] > target and left != right:
right -= 1
while numbers[left] + numbers[right] < target and left != right:
left += 1
return [left+1,right+1]
<<: Day 10:Component, Component, Component
>>: Day 11 Self-attention(五) KQV矩阵整理
来到了第十天。我们的习惯是先讲结论,如果你很急着用,可以直接使用这份 Add-On: Drive E...
交朋友 先有健康的观念 公司内 公司外 ...
本章开始归纳出几个K8s特性可以提升AI效能并以Spark计算圆周率Pi示范。原文写於2019如无法...
自前两天范例中,我们看到受众目标与假想使用者之重要性。 现在,我们能设身处地的以使用者的角度来设计...
引述自100Days of Swift-Class inheritance: The second ...