題目英文
Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example:
Input: 19 Output: true Explanation: 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 1^2 + 0^2 + 0^2 = 1
題目中文
編寫一個算法來判斷一個數是不是“快樂數”。
一個“快樂數”定義為:對於一個正整數,每一次將該數替換為它每個位置上的數字的平方和,然後重複這個過程直到這個數變為 1,也可能是無限循環但始終變不到 1。如果可以變為 1,那麼這個數就是快樂數。
示例:
輸入: 19 輸出: true 解釋: 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 1^2 + 0^2 + 0^2 = 1 輸入:7 輸出:true 輸入: 20 輸出: false 解釋: 20 => 4 + 0 4 => 16 16 => 1 + 36 37 => 9 + 49 58 => 25 + 64 89 => 64 + 81 145 => 1 + 16 + 25 42 => 16 + 4 20 可以看到, 20再次重複出現了, 所以永遠不可能等於1
算法實現
// 首先定義一個Set集合,用來存放計算後的平方和m, // 如果m在Set中已存在,即進入了死循環,則退出; // 如果m不存在Set,則將m放入Set; // 直至找到平方和為1或者進入死循環就退出。 public class Solution { public bool IsHappy(int n) { HashSet set = new HashSet(); int m = 0; while (true) { while (n != 0) { m += (int)Math.Pow(n % 10,2); n /= 10; } if (m == 1) { return true; } if (set.Contains(m)) return false; set.Add(m); n = m; m = 0; } } }
實驗結果
相關圖文:
- LeetCode實戰:刪除鏈表的倒數第N個節點
- LeetCode實戰:合併兩個有序鏈表
- LeetCode實戰:兩兩交換鏈表中的節點
- LeetCode實戰:旋轉鏈表
- LeetCode實戰:相同的樹
- LeetCode實戰:對稱二叉樹
- LeetCode實戰:二叉樹的最大深度
- LeetCode實戰:搜索二維矩陣
- LeetCode實戰:將有序數組轉換為二叉搜索樹
- 資料分享:數學建模資料分享 -- 圖論部分
- 資料分享:數學建模資料分享 -- 神經網絡部分
- 如何利用 C# 實現 K 最鄰近算法?
- 如何利用 C# 實現 K-D Tree 結構?
- 如何利用 C# + KDTree 實現 K 最鄰近算法?
- 如何利用 C# 對神經網絡模型進行抽象?
- 如何利用 C# 實現神經網絡的感知器模型?
- 如何利用 C# 實現 Delta 學習規則?
- 如何利用 C# 實現 誤差反向傳播 學習規則?
- 如何利用 C# 爬取帶 Token 驗證的網站數據?
- 如何利用 C# 向 Access 數據庫插入大量數據?
- 如何利用 C# + Python 破解貓眼電影的反爬蟲機制?
經過8年多的發展,LSGO軟件技術團隊在「地理信息系統」、「數據統計分析」、「計算機視覺」等領域積累了豐富的研發經驗,也建立了人才培養的完備體系,由於自己準備在「量化交易」領域精進技能,如果大家對這個領域感興趣可以與我聯繫,加入我們的量化學習群一起學習探討。
在這個領域我已做了以下積累:
策略部分:
- 數字貨幣 One 的投資價值分析
- 數字資產量化中的跨市場套利策略
- 數字資產量化中的同市場套利策略
- 數字資產量化中的網格交易法
- 我們能否效仿李笑來的投資策略?
- 賺錢是剛需,如何正確的交易股票?
數據部分:
- 如何利用 C# 爬取 One 的交易數據?
- 如何利用 C# 爬取 One 持有者返利數據?
- 如何利用 C# 爬取BigOne交易所的公告?
- 如何利用 C# 爬取Gate.io交易所的公告?
- 如何利用 C# 爬取「財報說」中的股票數據?
自動化交易部分:
- 封裝BigOne API:身份驗證
- 封裝BigOne API:獲取賬戶資產
- 封裝BigOne API:訂單系統
- 封裝BigOne API:網格交易法
- 封裝BigOne API:代碼的重構
- 進一步完善自動化交易系統 01
- 進一步完善自動化交易系統 02
- 進一步完善自動化交易系統 03
- 進一步完善自動化交易系統 04
- 如何開發「股票數據分析軟件」(上)
- 如何開發「股票數據分析軟件」(中)
- 如何開發「股票數據分析軟件」(下)
- 進一步完善「股票數據分析軟件」 - 01
後臺回覆「搜搜搜」,隨機獲取電子資源!
歡迎關注,請掃描二維碼: