使用lua螺旋打印数组
来源:互联网 发布:淘宝运动鞋店铺 编辑:程序博客网 时间:2024/06/05 17:26
今天在网上看到一个有意思的题目,如何螺旋打印一个数组,比较好奇,就自己先用递归实现了一下。
local randomArray = { [1] = {[1] = "a" ,[2] = "b" ,[3] = "c" ,[4] = "d" ,[5] = "e"}, [2] = {[1] = "f" ,[2] = "g" ,[3] = "k" ,[4] = "o" ,[5] = "p"}, [3] = {[1] = "z" ,[2] = "x" ,[3] = "c" ,[4] = "v" ,[5] = "b"}, [4] = {[1] = "g" ,[2] = "h" ,[3] = "j" ,[4] = "k" ,[5] = "l"}}for i,v in pairs(randomArray) do if type(v) == "table" then for i,v in pairs(v) do end endend--边界条件:#tb = 1function printAroundChars(tb) if tb and type(tb) == "table" then if #tb > 0 then if #tb == 1 then print("only one line") else local w = #tb[1] local h = #tb local leftX = 1 local topY= 1 local xCursor = 1 local yCursor = 1 for i = 1,w do print(tb[1][i]) end for i = 2,h do print(tb[i][w]) end for i = w-1,1,-1 do print(tb[h][i]) end for i = h-1,2,-1 do print(tb[i][1]) end local nextTable = {} for i = 2,h-1 do for j = 2,w-1 do if not nextTable[i-1] then nextTable[i-1]={} end nextTable[i-1][j-1] =tb[i][j] end end printAroundChars(nextTable) end end end endprintAroundChars(randomArray)目前看来,这个还只是实现了,有没有更加高效的算法呢,容我想想 ~~~~
0 0
- 使用lua螺旋打印数组
- 数组螺旋打印
- 螺旋打印数组
- 顺时针/螺旋打印数组
- 打印螺旋数组
- 螺旋打印二维数组
- 打印螺旋数组
- 杂记,螺旋打印数组。
- 打印螺旋数组
- 螺旋打印数组
- C#打印螺旋数组
- 螺旋数组打印
- 打印螺旋数组
- 螺旋打印二维数组
- 【算法设计】打印螺旋数组
- 【算法设计】打印螺旋数组
- 顺时针螺旋打印二维数组
- 螺旋打印一个二维数组
- KGLHD
- 斐波那契堆
- Oracle升级_oracle 10g版本由 10.2.0.1.0升级为10.2.0.4.0(即CPU升级)
- 3.1.5、准备卸载你的应用程序
- 我应该如何有效地学习linux?(持续更新)
- 使用lua螺旋打印数组
- Mac OS X下使用launchctl定时启动AppleScript脚本
- flex前端写的bean最好注册一下
- hdu 4771 状态压缩+bfs Stealing Harry Potter's Precious
- 数字语音信号处理的举例
- 算法学习 - Hash Table操作,分离链接法解决哈希冲突
- flex-DataGrid滚动条特别卡的解决方法
- JavaBean理解
- poj 2184 Cow Exhibition(处理负数的01背包)