逻辑思考之,指定轮次提交赛事结果验证是否合法

简介:

自己测试过,目前没发现逻辑存在问题。如有问题,请多多指教必定改正。

该功能主要是项目需要,假如有指定数量轮次比赛,人为将结果一次性提交,但提交之前必须先验证,如一场比赛有5局3胜决定胜负,如果你提交前面两轮为空,后面三局胜利,这明显是不符合逻辑的。

请转载此文的朋友务必附带原文链接,谢谢。

原文链接:http://xuyran.blog.51cto.com/11641754/1893245

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE html>
< html >
< head >
< meta  charset= "utf-8">
< title >dddd</ title >
< script  src = "jquery-1.9.1.min.js" ></ script >
< style >
     *{
         margin: 0px;
         padding: 0px;
         list-style: none;
     }
     .win-list{
         width: 300px;
         padding-top: 30px;
         margin: auto;
     }
     .win-list li{
         height: 25px;
     }
     p{
         width: 15px;
         height: 15px;
         border: solid 1px #96E555;  
         float: left;
         margin-left: 15px;
     }
     p.active{
         background: red;
     }
     .test{
         text-align: center;
     }
</ style >
</ head >
     < ul  class = "win-list" >
         < a ></ a >
         < li >< p ></ p >< p ></ p ></ li >
         < li >< p ></ p >< p ></ p ></ li >
         < li >< p ></ p >< p ></ p ></ li >
         < li >< p ></ p >< p ></ p ></ li >
         < li >< p ></ p >< p ></ p ></ li >
     </ ul >
     < div  class = "test" >
         < button  id = "test"  style = "margin: auto;" >test</ button >
         < button  id = "reset"  >重置</ button >
     </ div >
     
< body >
< a >测试</ a >
< script >
$(function(){
     $(".win-list li p").on("click",function(){
         $(this).addClass("active").siblings().removeClass("active");
     })
     $("#reset").on("click",function(){
         $(".win-list li p").removeClass("active");
     })
     $("#test").on("click",function(){
         var a = 0,b = 0,arr = [],arra = [],arrb = [],arrc = [];
         $(".win-list li").each(function(i,v){
             if($(this).find("p").eq(0).hasClass("active")){
                 a++;
                 arra.push(i);
                 arr.push(i);
             }else if($(this).find("p").eq(1).hasClass("active")){
                 b++;
                 arrb.push(i);
                 arr.push(i);
             }
         })
         if(a !== 3 && b!== 3){ //3 代表比赛赢的次数 该出判断如果胜局不等于3局,则不合法
             console.log("结果不合法");
             return false;
         }
         console.log(arr);
         for(var j = 0; j < 5; j++){ //5代表比赛总局数
             if(arr[j] !== j){     //如果中间有轮成绩为空,跳过,则不合法
                 console.log("结果不合法");
                 return false;
             }
             arrc.push(j);
         }
         if(arrc.toString() === arra.toString() && arrb.length !== 0){
             console.log("结果不合法"); //如果a代表队前三局都胜,而b代表队后面两局还有成绩,则不合法
             return false;
         }
         if(arrc.toString() === arrb.toString() && arra.length !== 0){
             console.log("结果不合法"); //如果b代表队前三局都胜,而a代表队后面两局还有成绩,则不合法
             return false;
         }
         console.log("结果合法");
         
     })
})
</ script >
</ body >

本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1893245
相关文章
|
5月前
|
机器人 API
钉钉里{"code: 400, 错误描述:机器人权限校验不通过;解决方案:请登陆开放平台后台,检查机器人是否归属于token对应的主应用名下 请问场景机器人-发消息-这个报错什么原因导致的啊?
钉钉里{"code: 400, 错误描述:机器人权限校验不通过;解决方案:请登陆开放平台后台,检查机器人是否归属于token对应的主应用名下 请问场景机器人-发消息-这个报错什么原因导致的啊?
359 0
|
3月前
|
开发工具 git
三类代码协同模式问题之在推送命令中加入参数绕过推送评审问题如何解决
三类代码协同模式问题之在推送命令中加入参数绕过推送评审问题如何解决
|
2月前
|
IDE 测试技术 API
使用京东API接口适用于的环境及验证调用合法性的方法
在电商领域,京东API接口支持商品信息查询、订单处理等功能。开发者需确保在稳定服务器端环境使用,选择合适编程语言及框架,并具备足够网络带宽处理能力。开发环境应配备IDE或代码编辑器及所需库。测试环境需充分验证API稳定性与可靠性。合法性验证包括:正确使用App Key和App Secret进行鉴权;掌握签名规则并在请求中添加签名;遵守请求频率限制;理解并遵循数据使用协议。遵循这些指导原则可保证API调用的合法性和稳定性。
|
前端开发
前端工作总结263-判断绑定逻辑
前端工作总结263-判断绑定逻辑
52 0
一对一聊天平台源码,不同数据缺失处理方法的比较
一对一聊天平台源码,不同数据缺失处理方法的比较
|
存储 消息中间件 缓存
消息列队有没有可能失败?在哪些环节可能失败,如何处理?
相信大家都使用过消息MQ,他可以很好地进行系统解耦,减低变成的复杂度,又可以进行削峰,增加系统在高并发的稳定性。那么使用MQ有哪些注意事项呢?是不是MQ就是万无一失呢?一条MQ消息从产生到消费,有没有可能失败?在哪些环节可能失败,如何处理? 一般来说,从生产者到MQ中间件是通过网络调用的,是网络调用就有可能存在失败。下面这些原因,都有可能造成MQ生产失败,例如网络波动,尽管生产者到MQ服务器之间是内网调用,并不意味着网络调用的成功率就是百分之百,内网调用也会遇到网络波动,造成调用超时或者失败。又如调用的MQ机器瞬间Crash掉,这也是有可能造成调用失败的。
消息列队有没有可能失败?在哪些环节可能失败,如何处理?
|
Java 数据安全/隐私保护 Spring
阿粉写了八千多字,只为讲透参数合法性验证)(二)
最近很多读者给阿粉留言,说怎么好久没看到我的文章了,这里说一下。 由于公众号不再按时间线排序,所以你会发现有时候能看到几天前的文章,这不是出BUG,是公众号的一次改变。 至于排序的具体标准是啥,阿粉也不太清楚,大概和你打开某个公众号的频率有关。 所以如果你想第一时间收到阿粉的文章,可以点击Java极客技术的的头像,再点右上角三个点,进去设置一下【星标】。
阿粉写了八千多字,只为讲透参数合法性验证)(二)
|
Java 数据库连接 Spring
阿粉写了八千多字,只为讲透参数合法性验证)(三)
最近很多读者给阿粉留言,说怎么好久没看到我的文章了,这里说一下。 由于公众号不再按时间线排序,所以你会发现有时候能看到几天前的文章,这不是出BUG,是公众号的一次改变。 至于排序的具体标准是啥,阿粉也不太清楚,大概和你打开某个公众号的频率有关。 所以如果你想第一时间收到阿粉的文章,可以点击Java极客技术的的头像,再点右上角三个点,进去设置一下【星标】。
阿粉写了八千多字,只为讲透参数合法性验证)(三)
|
前端开发 Java Spring
阿粉写了八千多字,只为讲透参数合法性验证)(一)
最近很多读者给阿粉留言,说怎么好久没看到我的文章了,这里说一下。 由于公众号不再按时间线排序,所以你会发现有时候能看到几天前的文章,这不是出BUG,是公众号的一次改变。 至于排序的具体标准是啥,阿粉也不太清楚,大概和你打开某个公众号的频率有关。 所以如果你想第一时间收到阿粉的文章,可以点击Java极客技术的的头像,再点右上角三个点,进去设置一下【星标】。
阿粉写了八千多字,只为讲透参数合法性验证)(一)