• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

一些简单的lua面试题,小算法,算不上算法的算法。。╮(╯▽╰)╭博主面试的辛酸旅程 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

博主三个月前的一次面试把,机试,一共三个题目:用lua脚本,招聘应届生,可惜博主不会lua,所以花费一个小时学了下lua就做了前面两题
使用lua语言解出下题,分别用递归、迭代二种方式, 写出详细的代码:

楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
例:3阶台阶的走法是
{
{ 1, 1, 1, },
{ 1, 2, },
{ 2, 1, },
}

 

--迭代

function Way(n)
resultAll = {}
tempArr1 = {""}
resultAll[1] = tempArr1
tempArr2 = {" 1"}
resultAll[2] = tempArr2
for i = 3,n+1 do
resultAll[i] = {}
for j=1,table.getn(resultAll[i-1]) do
table.insert(resultAll[i], resultAll[i-1][j].." 1")
end
for j=1,table.getn(resultAll[i-2]) do
table.insert(resultAll[i], resultAll[i-2][j].." 2")
end
end
for i = 1,table.getn(resultAll[n+1]) do
print(resultAll[n+1][i])
end
end


print("请输入阶层数")
n=io.read("*number")
io.write(Way(n))


--递归
--这是递归
function Way(InputNnum,Steup)
if InputNnum<=2 then
SteupInput(InputNnum,Steup)
else
for Num=1,2 do
Way(InputNnum-Num,Steup .." " ..Num)
end
end
end

function SteupInput(Input,Num)
if Input==1 then
print(Num .." 1")
m=m+1
elseif Input==2 then
print(Num .." 1 1")
print(Num .." 2")
m=m+2
else print("请输入正确的阶层数")
end
end

print("请输入阶层数")
m=0
i=io.read("*number")
io.write(Way(i," "))
print("一共有"..m.."方法")

 

第三题有点奇葩,比较容易,但是博主做第三题是连夜火车过去,硬座,没睡,9个小时,恩,你没听错。夏天又出了一身汗
很累了,买了瓶维生素饮料刺激下自己进去机试,没想到当时语法懵了~毕竟只看了一个小时lua,过了一天又累都忘记得差不多了,头昏昏沉沉的。后来直接被刷,可惜了,热脸贴了冷屁股。
题目如下:判断一个数组里的数是否有序排列,0可以替代任何数,最大的数不会超过13。

 

 1 table={9,8,7,6,5,4,3,0}
 2 value = nil
 3 function arrarr(a)
 4 for k=1,#a-1 do
 5 if a[k] == 0 then
 6 else
 7 if a[k+1] ==0 then
 8 else
 9 if value ~= nil then
10 if value ~= a[k+1]-a[k] then
11 return print("unordered")
12 end
13 else
14 value = a[k+1]-a[k]
15 end
16 end
17 end
18 end
19 return print("ordered")
20 end
21 
22 
23 arrarr(table)

 


 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua小技巧发布时间:2022-07-22
下一篇:
Cocos2d-xLua中生命周期函数发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap