LeetCode OJ -Happy Number】的更多相关文章

题目链接:https://leetcode.com/problems/happy-number/ 题目理解:实现isHappy函数,判断一个正整数是否为happy数 happy数:计算要判断的数的每一位的平方和,平方和为1则为happy数,不为1则将原数替换为此平方和,继续上述步骤,直到等于1(为happy数),或者进入不包含1的无限循环(非happy数). 测试用例:19为happy数: 解题思路: 定义set集合存每次计算得到的需判断数n,循环计算新的原数n,终止条件为n等于1或者set中出…
class Solution { public: int singleNumber(int A[], int n) { ; ; ; i<=bits; i++) { ; ; ; j<n; j++) w += (A[j]>>(i-))&t; result+= (w%)<<(i-); //若是除过一个数之外,其他数重复k次,则将此处的3改为k } return result; } }; 利用二进制的位运算来解决这个问题,比如输入的数组是[2,2,3,2] 它们对应的二…
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by…
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should retu…
题目: Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n. For example: Given n = 13, Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13. 思路: 对这个数字的每一位求存在1的数字的…
class Solution { public: int singleNumber(int A[], int n) { int i,j; ; i<n; i++) { ; j<n; j++) { if(A[j]==A[i]) { ]; A[i+] = A[j]; A[j] = temp; i++; break; } } if(j==n) return A[i]; } } }; 上面的是传统方法,时间复杂度是O(n2),空间复杂度是O(1). class Solution { public: in…
class Solution { public: bool isPalindrome(int x) { ,init=x; ) return true; ) return false; ){ r=r*+init%; init=init/; } if(r==x) return true; else return false; } }; 题目: 判断一个整数是不是回文数,即一个数翻转过来是否跟原来的数仍一样. 需要考虑负数,负数无回文数. 解法: 翻转提供的数字,即123的话,需要翻转为321. 再判…
博客搬至blog.csgrandeur.com,cnblogs不再更新. 新的题解会更新在新博客:http://blog.csgrandeur.com/2014/01/15/LeetCode-OJ-Solution/ ———————————————————————————————————————— ———————————————————————————————————————— LeetCode OJ 题解 LeetCode OJ is a platform for preparing tech…
今天先谈下弗洛伊德判环,弗洛伊德判环原来是在一个圈内有两人跑步,同时起跑,一人的速度是另一人的两倍,则那个人能在下一圈追上另一个人,弗洛伊德判环能解数字会循环出现的题,比如说判断一个链表是不是循环链表.在程序中具体表现为 one = change(one); //一倍速度 two = change(change(two));//两倍速度 即一倍速度的人调用生成函数change一次,两倍速度的人调用生成函数change两次. Leetcode 202 Happy Number 就是这样一道简单的题…
Problem Link: http://oj.leetcode.com/problems/interleaving-string/ Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 = "aabcc", s2 = "dbbca", When s3 = "aadbbcbcac", return t…