算法练习
题目
集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制成了集合里面的另一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。
示例
输入: nums = [1,2,2,4]
输出: [2,3]
注意
给定数组的长度范围是 [2, 10000]。
给定的数组是无序的。
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
class Solution(object):
def findErrorNums(self, nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
n = [0 for i in range(1, len(nums) + 1)]
res = list()
for i, digit in enumerate(nums):
if n[digit - 1] == 0:
n[digit - 1] = digit
else:
res.append(digit)
for i, x in enumerate(n):
if x == 0:
res.append(i + 1)
break
renturn res
参考 https://blog.csdn.net/qq_32424059/article/details/89059264
英文阅读
本次阅读的文章
Software development best practices in a deep learning environment
文中主要提及了进行深度学习项目与传统软件开发的不同点
生词释意
rapidly evolving deep learning frameworks 快速演进的深度学习框架
principle 原则方法
evaluate 评估
our approach is based on the guiding principle that training and running a deep learning system should be automated to the greatest possible extent. It should not be based on an individual person needing to train and evaluate the model after weeks of experimentatio
深度学习数据的训练和运行应该尽可能的自动化,而不是基于人工花费几周的实验后的训练和模型评估。
技巧呈现
软件设计的两种思路,面向过程和面向对象
【分享】结构化与面向对象化
网友评论