319. 燈泡開關

319. 燈泡開關

初始時有?n 個燈泡處于關閉狀態。第一輪,你將會打開所有燈泡。接下來的第二輪,你將會每兩個燈泡關閉一個。

第三輪,你每三個燈泡就切換一個燈泡的開關(即,打開變關閉,關閉變打開)。第 i 輪,你每 i 個燈泡就切換一個燈泡的開關。直到第 n 輪,你只需要切換最后一個燈泡的開關。

找出并返回 n?輪后有多少個亮著的燈泡。

  • 示例 1:

image.png

輸入:n = 3
輸出:1 
解釋:
初始時, 燈泡狀態 [關閉, 關閉, 關閉].
第一輪后, 燈泡狀態 [開啟, 開啟, 開啟].
第二輪后, 燈泡狀態 [開啟, 關閉, 開啟].
第三輪后, 燈泡狀態 [開啟, 關閉, 關閉]. 你應該返回 1,因為只有一個燈泡還亮著。示例 2:輸入:n = 0
輸出:0示例 3:輸入:n = 1
輸出:1

解題思路

  1. 對于每個燈泡i來說,只要該燈泡被切換開關的次數為奇數次的時候,該燈泡最終會處于亮著的狀態。而該燈泡被切換開關的次數為偶數次的時候,該燈泡最終會處于不亮著的狀態
  2. 對于第i個燈泡來說,能出現開關改變的情況,只能出現在其約數x的輪次中,例如第3個燈泡,3的約數為1和3,因此若想被改變只能在第一輪和第三輪中進行修改,并且我們發現約數往往都是成對例如8的約數為1,8,2,4.也就是說往往都是偶數的,而其中的特例就是一些完全平方數,例如9的約數為1,9,3,因為3*3=9,但是因為兩個約數是相同的,因此完全平方數就會產生奇數個約數。
  3. 因此,我們需要統計的是完全平方數的個數,只需要通過sqrt(n)求出完全平方數的個數即可。

代碼

class Solution {
public:int bulbSwitch(int n) {return sqrt(0.5+n);}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389770.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389770.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389770.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何生成隨機不重復的11位數字

要求 不重復隨機11位數字不占存儲我們都知道11位數字(random)對應有最大值max和最小值min99999999999和10000000000.很簡單的從最小值開始按順序分發到最大值,就滿足了不重復,不占存儲,11位數字的特性。那么接下來就要考慮如何生成隨機數字這…

因為你的電腦安裝了即點即用_即你所愛

因為你的電腦安裝了即點即用Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and …

關于前端緩存問題

Cookie、localStorage、sessionStorage的異同 之前沒怎接觸過前端緩存,請教了前端同事之后他給我粘了幾行代碼,用localStorage存取信息,后來老大review代碼的時候發現,被批了一頓,現在好好看看這幾個前端緩存的區別&am…

2074. 反轉偶數長度組的節點

2074. 反轉偶數長度組的節點 給你一個鏈表的頭節點 head 。 鏈表中的節點 按順序 劃分成若干 非空 組,這些非空組的長度構成一個自然數序列(1, 2, 3, 4, …)。一個組的 長度 就是組中分配到的節點數目。換句話說: 節點 1 分配給…

阿里云云服務器硬盤分區及掛載

云服務器環境:CentOS 6.2 64位 客戶端環境:Mac OSX 遠程連接方式:運行 Terminal,輸入命令 ssh usernameip 硬盤分區及掛載操作步驟: 查看未掛載的硬盤(名稱為/dev/xvdb)fdisk -l Disk /dev/xvdb…

團隊管理新思考_需要一個新的空間來思考討論和行動

團隊管理新思考andrew wong安德魯黃 Follow跟隨 Sep 4 九月4 There is a need for a new space to think, discuss, and act. This need are being felt by the majority of AI / ML / Data Product Managers out there. They are exhausted by the ever increasing data volum…

Uva201

原題地址:https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid9 題意: 就是要你輸入一系列橫邊的起始點,和豎邊的起始點,然后你去找出這些邊里面構成的所有正方形。 心得體會 一道難度適中的模擬題&#xf…

2075. 解碼斜向換位密碼

2075. 解碼斜向換位密碼 字符串 originalText 使用 斜向換位密碼 ,經由 行數固定 為 rows 的矩陣輔助,加密得到一個字符串 encodedText 。 originalText 先按從左上到右下的方式放置到矩陣中。 先填充藍色單元格,接著是紅色單元格&#xff…

微服務實戰(六):落地微服務架構到直銷系統(事件存儲)

在CQRS架構中,一個比較重要的內容就是當命令處理器從命令隊列中接收到相關的命令數據后,通過調用領域對象邏輯,然后將當前事件的對象數據持久化到事件存儲中。主要的用途是能夠快速持久化對象此次的狀態,另外也可以通過未來最終一…

時間序列數據的多元回歸_清理和理解多元時間序列數據

時間序列數據的多元回歸No matter what kind of data science project one is assigned to, making sense of the dataset and cleaning it always critical for success. The first step is to understand the data using exploratory data analysis (EDA)as it helps us crea…

vue-cli搭建項目的目錄結構及說明

vue-cli基于webpack搭建項目的目錄結構 build文件夾 ├── build // 項目構建的(webpack)相關代碼 │ ├── build.js // 生產環境構建代碼(在npm run build的時候會用到這個文件夾)│ ├── check-versions.js // 檢查node&am…

391. 完美矩形

391. 完美矩形 給你一個數組 rectangles ,其中 rectangles[i] [xi, yi, ai, bi] 表示一個坐標軸平行的矩形。這個矩形的左下頂點是 (xi, yi) ,右上頂點是 (ai, bi) 。 如果所有矩形一起精確覆蓋了某個矩形區域,則返回 true ;否…

bigquery 教程_bigquery挑戰實驗室教程從數據中獲取見解

bigquery 教程This medium article focusses on the detailed walkthrough of the steps I took to solve the challenge lab of the Insights from Data with BigQuery Skill Badge on the Google Cloud Platform (Qwiklabs). I got access to this lab in the Google Cloud R…

學習linux系統到底有沒捷徑?

2019獨角獸企業重金招聘Python工程師標準>>> 說起linux操作系,可能對于很多不了解的人來說,第一個想到的就是類似于黑客帝國中的黑框框以及一串串不知所云的代碼,總之這些感覺都可以總結成為一個字,那就是——酷&#…

機器學習之路:python k近鄰回歸 預測波士頓房價

python3 學習機器學習api 使用兩種k近鄰回歸模型 分別是 平均k近鄰回歸 和 距離加權k近鄰回歸 進行預測 git: https://github.com/linyi0604/MachineLearning 代碼: 1 from sklearn.datasets import load_boston2 from sklearn.cross_validation import train_test_…

大話數據結構 (程杰 著)

1轉載于:https://www.cnblogs.com/revoid/p/9605734.html

wxpython實現界面跳轉

wxPython實現Frame之間的跳轉/更新的一種方法 wxPython是Python中重要的GUI框架,下面通過自己的方法實現模擬類似PC版微信登錄,并跳轉到主界面(朋友圈)的流程。 (一)項目目錄 【說明】 icon : 保存項目使用…

java職業技能了解精通_如何通過精通數字分析來提升職業生涯的發展,第8部分...

java職業技能了解精通Continuing from the seventh article in this series, we are going to explore ways to present data. Over the past few years, Marketing and SEO field has become more data-driven than in the past thanks to tools like Google Webmaster Tools …

2028. 找出缺失的觀測數據

2028. 找出缺失的觀測數據 現有一份 n m 次投擲單個 六面 骰子的觀測數據,骰子的每個面從 1 到 6 編號。觀測數據中缺失了 n 份,你手上只拿到剩余 m 次投擲的數據。幸好你有之前計算過的這 n m 次投擲數據的 平均值 。 給你一個長度為 m 的整數數組 …

51nod 1250 排列與交換——dp

題目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId1250 仔細思考dp。 第一問,考慮已知 i-1 個數有多少種方案。再放入一個數,它是最大的且在最后面,所以它的位置不同的話,就是不同的方案。它在特定…