Datawhale第九期组队学习--数据结构与算法(上)Task01:数组(1天)
发布日期:2021-06-29 03:04:57
浏览次数:2
分类:技术文章
本文共 1780 字,大约阅读时间需要 5 分钟。
理论部分
- 理解数组的存储与分类。
- 实现动态数组,该数组能够根据需要修改数组的长度。
- python中没有数组这一说,和它对应的则是列表list和元组tuple。list对应为其它与语言中的可变数组,而tuple对应为不可变数组。元组和列表最大区别在于元组不可变。元组不支持元素的增加,不支持修改,删除只能删除整个元组。
- python中的集合set属于数组吗?
练习部分
以下用python实现:
- 利用动态数组解决数据存放问题
编写一段代码,要求输入一个整数N,用动态数组A来存放2~N之间所有5或7的倍数,输出该数组。
代码:#!/usr/bin/pythontargetList = []n = input('请输入一个整数:N=')try: n = int(n)except: print('您输入的不是数字')for i in range(2, n+1): if i % 5 == 0 or i % 7 == 0: targetList.append(i)print('输出结果:', targetList)
- 托普利茨矩阵问题
如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。
给定一个M x N的矩阵,当且仅当它是托普利茨矩阵时返回True。
示例:输入:matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为: "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"。 各条对角线上的所有元素均相同, 因此答案是True。
疑问:
1.上述列子中符合这个概念的方向为左下到右上的,应该不是托普利茨矩阵吧? 2.写成python类的方式跟直接写的,哪个优势更突出? 3.思路是什么?代码:
def compute(matrix): for r, row in enumerate(matrix): for c, col in enumerate(row): if (r+1 < len(matrix)) and (c+1 < len(row)): if matrix[r][c] != matrix[r+1][c+1]: return False return Truematrix = [ [1, 2, 3, 4], [5, 1, 2, 3], [9, 5, 1, 2]]res = compute(matrix)print(res)
- 三数之和 https://leetcode-cn.com/problems/3sum/
给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a + b + c = 0?找出所有满足条件且不重复的三元组。
注意:答案中不可以包含重复的三元组。
示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]
疑问: 思路是什么?
代码:
nums = [-1, 0, 1, 2, -1, -4]nums.sort()result = []nums2 = nums[1:]nums3 = nums[2:]for i in nums: for j in nums2: for k in nums3: if k >= j >= i and (i != j+1) and (j != k+1) and nums[i] + nums2[j] + nums3[k] == 0: temp = [nums[i], nums2[j], nums3[k]] temp.sort() if temp not in result: result.append(temp)print(result)
转载地址:https://blog.csdn.net/z583706/article/details/103854351 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月11日 09时33分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
推荐:采用 F5 AS3 的配置即代码
2019-04-29
Android开源库大全分类汇总(Android技术资料汇总) ...
2019-04-29
浅析IPTV盒子和OTT盒子的差别,如何选择?
2019-04-29
小程序template-plump
2019-04-29
Python零基础学习笔记(二十一)—— dict字典
2019-04-29
python实现单向链表数据结构及其基本方法
2019-04-29
SqlServer 将纯数字的时间转换为DateTime
2019-04-29
实现厘米级、低功耗精确定位,Kolmostar获元实资本领投1000万美元融资 ...
2019-04-29
在家怎么用手机连接到电视?
2019-04-29
好程序员web前端教程分享js文件引用编码方式
2019-04-29
阿里云杨敬宇:5G时代,边缘计算将发挥更大价值 ...
2019-04-29
### avoid read-on-write
2019-04-29
HBase+Spark技术双周刊 第四期
2019-04-29
突然上万片晶圆被污染,台积电损失惨重
2019-04-29
Centos7.6下安装Python3.7
2019-04-29
Quick BI取数模型深度剖析
2019-04-29
王传福:电动汽车开始由政策与市场双轮驱动|电动车百人会2019 ...
2019-04-29
直播平台建设中必不可少的防盗机制,直播间搭建的安全防护 ...
2019-04-29