lua笔记2
来源:互联网 发布:单片机支持snmp协议 编辑:程序博客网 时间:2024/05/17 04:24
之前留下的坑太多了,现在都含着泪慢慢填。今天的是第二次练习,变化不大。第二题更加明确一些。所以可以更新的方法更多。然后代码习惯有所改进吧。
--第一题一个长度为10的整型数组a[10]={3,4,6,7,8,4,2,1,9,10}
--将重复出现的数字全部删除(后续数字往前移)
local a={3,4,6,7,8,4,2,1,9,10}
for i=1,10 do
for j=i+1,10 do
if a[i]==a[j] then
table.remove(a,j)
end
end
end
for i,v in ipairs(a) do
print(i,v)
end
--现有一个元素数量不为0的表,每个元素均为整数,其中0可以表示任意数,
--请写出方法isTableOrder_Ex判断这个表中的数据是否是一个单调递增且公差为1的等差数列。(<=20 lines)
--[[如果第一个数为零,则对零计数,若记到零个数与表个数相等,返回(true)
记录到第一个非零数的位置,与后一个数做差,后一个数为零则给他赋值为前一个数加1.
并记录结果为1的次数,与零的个数相加,若为表的长度,则返回(true),否则(false)
第一个数不为零,直接按上述找到非零数的步骤执行,从1开始计数--]]
function istableorder_Ex( t )
x=1 z=1
if(t[1]==0) then
i=1
while(t[i]==0) do
i=i+1
if(i==#t) then
return(true)
else x=i
end
end
for i=x,#t-1 do
if(t[i+1]==0) then
t[i+1]=t[i]+1
end
if(t[i+1]-t[i]==1) then
x=x+1
if x==#t then
return (true)
end
else return(false)
end
end
else for i=1,#t-1 do
if(t[i+1]==0) then
t[i+1]=t[i]+1
end
if(t[i+1]-t[i]==1) then
z=z+1
if z==#t then
return (true)
end
else return(false)
end
end
end
--]]
end
a= {-2,0,0,1,2,3,0,5,0,0,8}
print(istableorder_Ex(a))
--第二题改进
function istableorder_Ex2( t )
for i=1,#t do
if(t[i]~=0) then
for j=i,#t-1 do
if(t[i+1]==0) then
t[i+1]=t[i]+1
end
if t[i+1]-t[i]~=1 then
return(false)
else return(true)
end
end
else return(true)
end
end
end
print(istableorder_Ex2(a))
0 0
- lua学习笔记(2)
- lua学习笔记2
- Lua笔记2-开始
- 【Lua】语法笔记#2
- lua笔记2
- lua 自学笔记2
- Lua初学者笔记2
- Lua学习笔记-2
- lua学习笔记2
- Lua程序设计2 笔记
- Lua笔记【2】
- lua笔记之函数(2)
- Lua学习笔记(2): 协程
- Lua学习笔记2:变量
- 《lua源码赏析》笔记 -2
- Lua学习笔记2-数据类型
- [lua]Lua笔记
- lua笔记
- jsp访问数据库(学生数据表)
- 螺旋线
- Cmake创建交叉编译应用(二)
- JAVA 枚举类的初步理解
- [并发并行]_[线程模型]_[Pthread线程使用模型之一管道Pipeline]
- lua笔记2
- SGX: the good, the bad and the downright ugly
- Junit学习笔记之四:dbunit和easymock
- unity学习笔记之物体移动
- 编译预处理命令
- (数据结构)栈和堆区别
- lua笔记3,常用函数
- jsp访问数据库(完整总结)
- Spring小白到菜鸟修炼之基本概念(2)