第六题 Z字走法
2024-09-08 16:06:22
我和答案第一种解法是很相似的 但是时间 和空间都被大部分人击败了。
思路就是用一个标记 为0就竖着走 为1就斜着走 把二维数组填满
我觉得难点在于PHYTON如何创建一个二维数组 而且是不定长的
最后想出了竖着来 append的方法
不过这样好像时间复杂度爆炸了
def convert(s, numRows):
"""
:type s: str
:type numRows: int
:rtype: str
"""
rel = '' #创建记录结果的字符串
strlist = [[0]*numRows] #根据python习惯 我觉得创建一个竖起来的数组更好操作一点。
count = 0
row = 0
col = 0 #标记当前填写的行列
flag = 0 #标记这次填写是填竖着的还是填斜着的。
if numRows == 1 :
return s
for i in s:
if flag == 0:
strlist[row][col] = i
col += 1
if col == numRows-1 :
flag = 1
elif flag == 1:
strlist.append([0]*numRows)
strlist[row][col] = i
row += 1
col -= 1
if col == 0:
flag = 0
for col in range(numRows):
for each in strlist:
if each[col] != 0:
rel += each[col] return (rel)
最新文章
- bzoj4571: [Scoi2016]美味
- spread 程序调试时,未激活的提示解决
- Timer 实现2秒4秒连环炸
- MagSpoof:能预测并窃取你下一张信用卡号码的廉价设备
- 各种语言简单的输出Hello World
- JIRA官方:为什么要用JIRA?
- 怎样用U盘安装Ubuntu系统/ubuntu系统怎么安装
- What is HHVM?
- 对Spring运用的一些思考
- 吴恩达机器学习笔记5-Octave基本操作
- go跨平台编译
- C/S和B/S应用程序的区别
- MAC book 无法删除普通用户的解决办法
- tomcat查看并修改jvm大小
- css定位研究
- MongoDB 聚合嵌入的数组(扁平化数据+管道)
- Spark2.x学习笔记:Spark SQL快速入门
- python 模拟windows键盘按键的封装
- Spring bean是如何加载的
- JavaWeb基础——JSON
热门文章
- leetcode 24. 两两交换链表中的节点 及 25. K 个一组翻转链表
- [源码分析] Facebook如何训练超大模型 --- (2)
- 配置vscode的C++环境Unexpected GDB output from command ";-environment-cd
- AOP-底层原理(JDK动态代理实现)
- Javascript之递归求裴波那契数
- 正向代理 、反向代理, 和 Linux系统配置nginx。
- plsql 存储过程 介绍。
- SP419/422 TRANSP(2) - Transposing is Fun
- JavaIO 思维导图
- nodejs 文件上传服务端实现