Python教程

LeetCode灯泡开关(Python)

本文主要是介绍LeetCode灯泡开关(Python),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

在这里插入图片描述
在这里插入图片描述

解题思路

其实逻辑很简单,假设灯泡编号是 1 到 n ,对于第 i 轮,只要编号能整除 i 的灯泡都会被切换,所以根据这个思路可以写出代码:
在这里插入图片描述
不出意外地超时了。因为没有想到的点是,对于一个数 k ,它的因子都是成对出现的(a * b = k,那么 a 和 b 都是 k 的因子),除非 k 是完全平方数。因此只需要知道 1 到 n 中有多少个完全平方数即可:
在这里插入图片描述

这篇关于LeetCode灯泡开关(Python)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!