首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日算法系列【LeetCode 319】灯泡开关

题目描述 初始时有 个灯泡关闭。第 轮,你打开所有的灯泡。第 轮,每两个灯泡你关闭一次。第 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 轮,每 个灯泡切换一次开关。...对于第 轮,你只切换最后一个灯泡的开关。找出 轮后有多少个亮着的灯泡。 示例1 输入: 3 输出: 1 解释: 初始时, 灯泡状态 [关闭, 关闭, 关闭]....第一轮后, 灯泡状态 [开启, 开启, 开启]. 第二轮后, 灯泡状态 [开启, 关闭, 开启]. 第三轮后, 灯泡状态 [开启, 关闭, 关闭]. 你应该返回 1,因为只有一个灯泡还亮着。...题解 首先有 个灯泡,假设编号为 到 。第 轮,所有编号是 的倍数的灯泡被开关了一次。第 轮,所有编号是 的倍数的灯泡被开关了一次。...类推下去,第 轮,所有编号是 的倍数的灯泡被开关了一次。 综上,对于编号为 的灯泡来说,它最终被开关的次数取决于 有几个因数。如果有奇数个因数,那么它最后就是开着的,否则就是关着的。

56330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    每日算法系列【LeetCode 319】灯泡开关

    题目描述 初始时有 个灯泡关闭。第 轮,你打开所有的灯泡。第 轮,每两个灯泡你关闭一次。第 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 轮,每 个灯泡切换一次开关。...对于第 轮,你只切换最后一个灯泡的开关。找出 轮后有多少个亮着的灯泡。 示例1 输入: 3 输出: 1 解释: 初始时, 灯泡状态 [关闭, 关闭, 关闭]....第一轮后, 灯泡状态 [开启, 开启, 开启]. 第二轮后, 灯泡状态 [开启, 关闭, 开启]. 第三轮后, 灯泡状态 [开启, 关闭, 关闭]. 你应该返回 1,因为只有一个灯泡还亮着。...题解 首先有 个灯泡,假设编号为 到 。第 轮,所有编号是 的倍数的灯泡被开关了一次。第 轮,所有编号是 的倍数的灯泡被开关了一次。...类推下去,第 轮,所有编号是 的倍数的灯泡被开关了一次。 综上,对于编号为 的灯泡来说,它最终被开关的次数取决于 有几个因数。如果有奇数个因数,那么它最后就是开着的,否则就是关着的。

    43830

    Js排序算法_js 排序算法

    一、概念 快速排序算法由 C. A. R. Hoare 在 1960 年提出。...它的时间复杂度也是 O(nlogn),但它在时间复杂度为 O(nlogn) 级的几种排序算法中,大多数情况下效率更高,所以快速排序的应用非常广泛。...数组的分解步骤如下图所示: 三、动图演示 四、算法分析 a. 复杂度: 快速排序的方法复杂度有时间复杂度和空间复杂度。...时间复杂度往往是决定一个算法优劣的最重要出发点,空间复杂度在当今的计算机上已经没有那么大的影响力了。...快速排序的一次划分算法从两头交替搜索,直到low和high重合,因此其时间 复杂度是O(n) ; 而整个快速排序算法的时间复杂度与划分的趟数有关。

    25.2K20

    JS算法之常规排序算法

    比如, 针对Virtual Dom的Diff算法中树的遍历(DSF); 还有针对Vue3的双端Diff中在查看可复用节点时,用到的「最小递增子序列」算法; 针对指定「DSL」(领域特定语言)的编译、转换处理中用到...而今天我们就来利用一篇文章的时间,来讲讲在平时工作中或者面试中比较常见的「排序算法」。 排序算法有很多,而我们只总结和处理我们平时接触到,并用到的,也算是一个针对排序算法的「初级」的汇总和总结。...,有时候,顺带会问,该算法对应的复杂度。...该算法实质上是一种「分组插入」方法。...这篇文章只是为了,罗列常规的排序算法,而不是针对某一个算法进行详细分析。

    4.5K20

    JS算法之回溯法

    今天,我们继续探索JS算法相关的知识点。我们来谈谈关于「回溯法」的相关知识点和具体的算法。如果,想了解其他数据结构的算法介绍,可以参考我们已经发布的文章。如下是算法系列的往期文章。...文章list整数常规排序算法数组字符串链表栈队列二叉树好了,天不早了,干点正事哇。...你能所学到的知识点❝ 何为回溯法集合的组合、排列利用回溯算法解决其他问题 ❞----何为回溯法❝ 回溯法可以看做「暴力法的升级版」,它在解决问题时的每一步都「尝试所有可能的选项」,最终「找出所有可行的解决方案...参考资料:剑指offer/leetcode官网/学习JavaScript数据结构与算法第3版「全文完,既然看到这里了,如果觉得不错,随手点个赞和“在看”吧。」

    1.2K20

    JS算法探险之数组

    这篇文章是我们算法探险系列的第三篇文章。是针对数据结构方面的第二篇。上一篇JS算法探险之整数中我们介绍了关于JS整数的一些基础知识和相关算法题。我们做一个简单的「前情回顾」。...例如 JS整数都以小数存储(IEEE 754格式) 查看一个正整数的二进制格式 (number).toString(2) i>>1来计算i/2,而且还是下取整 用 i&1来计算 i%2 还处理了很多典型的算法题...JS 只支持一维数组,并不支持矩阵 ❞ 文章概要 双指针 累加数组数字求子数组之和 知识点简讲 JS数组的本质 JS数组本质上是「对象」 ❝根据 EMMAScript规范,在JS中有两种对象 1....异质对象Exotic Object ❞ 这两种对象包含了JS世界中所有的对象,「任何不属于常规对象的对象都是异质对象」。...而数组就是异质对象,即 ❝数组的本质是「对象」且为「异质对象」 ❞ 调用Array函数生成数组实例 ArrayCreate返回值 ---- JS 只支持一维数组,并不支持矩阵(多维数组) 在JS中,

    85210
    领券