首页 > 编程语言 > 详细

lua算法(连载)

时间:2017-04-01 22:52:37      阅读:310      评论:0      收藏:0      [点我收藏+]
题目一、给一个表,表里有5个数,在[0-13]之间,其中0可以表示任意数,判断这个表是否连续
思路:
连续的条件:
1、表中都是0
2、表中有4个0
3、0个数不大于3,经过排序之后除去0之外,最大值减去最小值的差小于5
注意:要排除掉除去0之外的数里面有相同的数

local list = {0,0,2,5,1}
function toCheck ()
    table.sort(list) -- 把数组从小到大排序
    local zero_num = 0
    for k,v in pairs(list) do
         if v == 0 then
             zero_num = zero_num + 1
         elseif v ~= 0 then
             for i = k+1,#list do
                    if v == list[i] then
                      print("该表不连续")

                       return
                   end   
             end
         end              
    end
    if zero_num == 4 or zero_num ==5 then
      print("该表连续") 
    elseif list[#list] - list[zero_num + 1] < 5 then
      print("该表连续")
    else
      print("该表不连续")
    end
end
toCheck()                    

 

lua算法(连载)

原文:http://www.cnblogs.com/jierism/p/6657737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!