内容简介:偶然间在脉脉上看到了一道头条的算法面试题按照题目的理解,简单的写了一个html网页
偶然间在脉脉上看到了一道头条的算法面试题
按照题目的理解,简单的写了一个html网页
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>pool</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="vue_det">
<div @click="SmartChange(0)" style="width:40px;height:40px;background:#fff">开始</div>
<div class="pool" v-for="(item, index) in list">
<div @click="change(index)" v-if="item" style="width:40px;height:40px;background:#999;float:left">{{index}}</div>
<div @click="change(index)" v-if="!item" style="width:40px;height:40px;background:#fff;float:left">{{index}}</div>
</div>
</div>
<script src="https://cdn.bootcss.com/vue/2.6.4/vue.js"></script>
<script>
var vm = new Vue({
el: '#vue_det',
data: {
list: [],
i: 0
},
methods: {
details: function () {
return this.site + " - 学的不仅是技术,更是梦想!";
},
change (index) {
// console.log(index)
if (index === 99) {
this.list[0] = !this.list[0]
this.list[98] = !this.list[98]
this.list[99] = !this.list[99]
} else if (index === 0) {
this.list[0] = !this.list[0]
this.list[1] = !this.list[1]
this.list[99] = !this.list[99]
} else {
// console.log('222')
this.list[index] = !this.list[index]
this.list[index - 1] = !this.list[index - 1]
this.list[index + 1] = !this.list[index + 1]
}
// console.log(this.list)
this.list = JSON.parse(JSON.stringify(this.list))
},
SmartChange (index) {
if (this.i === 99) {
return false
}
if (this.list[this.i] === true) {
this.i = this.i + 1
setTimeout(() => {
this.SmartChange()
}, 10);
} else {
this.change(this.i + 1)
setTimeout(() => {
this.SmartChange()
}, 10);
}
// console.log('222222222',this.i)
},
go () {
for (let index = 1; index < 101; index++) {
this.list.push(Math.random() > 0.5 ? true : false)
}
console.log(this.list)
let a = 0, b = 0
this.list.map(val => {
if (val) {
a++
} else {
b++
}
})
console.log(a, b)
}
},
created () {
this.go()
}
})
</script>
</body>
</html>
得到了如下效果图
得到如题可以进行开关的示例
在最后一个灯特殊处理,链接第一个灯,形成环
经过测试发现
只要从序号0开始,如果打开则跳过,如果是灭灯,则点击i+1
得到如下效果
敲黑板
现在得出的部分结论是
只有随机亮灭灯是一定比例的时候才有可能全部点亮
现在可行的比例为
亮-灭 50-50
亮-灭 51-49
亮-灭 47-53
亮-灭 44-56
亮-灭 42-58
亮-灭 53-47
亮-灭 54-46
而且,还决定于最后一个灯和相邻灯的亮灭
大家有什么好想法,可以留下见解讨论下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Types and Programming Languages
Benjamin C. Pierce / The MIT Press / 2002-2-1 / USD 95.00
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of typ......一起来看看 《Types and Programming Languages》 这本书的介绍吧!