每天进步一点点,关注我们哦,每天分享测试技术文章
码同学抖音 :小码哥聊软件测试
在面试的时候,为了考察理解能力.面试官有可能隐藏题目的细节,他可能会说
“对一个数组里的数字,进行翻转.要求每3个进行一次.”
例如:[1,2,3,4,5,6] → [3,2,1,6,5,4]
这时候,我们可以先进行一轮“需求确认”.询问:
1.数组有结尾如果不是正好3个怎么办? 答:剩下2个,就地翻转.剩1个直接保留
2.数组里的数字需要按照,从小到大的顺序么? 不需要,单纯的每3个翻转即可.也不限制是数字
3.如果是空数组,怎么处理?
要求返回空数组
下一步,我们整理一下需求
编写一个函数,对数组中的内容进行翻转 规则是,每3个元素进行翻转.例如: l = [1,2,3,4,5,6] 翻转后是 l = [3,2,1,6,5,4] 初次之外 如果最后只剩下两个数,则两数翻转 [1,2,3,4,5,6,7,8] → [3,2,1,6,5,4,8,7] 如果最后只剩下一个数字,则保留这个数字 [1,2,3,4,5,6,7] → [3,2,1,6,5,4,7]
分析题目:
1.首先我们需要判断这个数组,到底对应 正好3的倍数/余2/余1
这里使用整除 和 取余 计算
2.对能整除的部分进行3个一组的翻转
3.对余2/余1进行特殊处理
编码
运行结果
题目
件内容统计-当前有一份文件.
该文件有若干行,
每一行为若干个ip地址,
以‘|’分隔;
免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦
题目分析
首先我们把目标数据构造出来,并按照题目的要求手动圈定数据(如图所示)
伪代码
第一步:读取文件
对于文件,我们可以选择按行读取 file.readlines() 使用len(list)可以获取文件的行数
第二步:处理数据
对读取的数据进行处理让它能够体现出”列” 可以使用split()函数,切分每一行的数据.这样,每一个切分的元素正好对于”列”的概念
第三步:进行计数
对处理好的数据进行遍历 如果和预期的”IP”一致,则进行一次计数
最终返回计数结果
代码
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!