class Solution {
public:
int hammingWeight(uint32_t n) {
int k=; //统计次数
while(n>){
n &= (n-); //每次消掉一个1
k++; //统计消掉1的次数
}
return k;
}
};

求 n! 中0的个数。

思路:计算0的个数,也就是计算10的个数,即计算包含的2和5组成的pair的个数,因为5的个数比2少,所以2和5组成的pair的个数由5的个数决定。

观察15! = 有3个5(来自其中的5, 10, 15), 所以计算15/5=3就可以。

25! = 有6个5(有5个5来自其中的5, 10, 15, 20, 25, 另外还有1个5来自25=(5*5)的另外一个5),

所以要循环计算n/5, 直到商为0。

class Solution {
public:
int trailingZeroes(int n) {
int result = , k = ;
while(n>){
k = n/; //统计 n! 是5的几幂次
result += k;
n = k;
}
return result;
}
};

螺旋矩阵:

class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {
if(matrix.empty() || matrix[].empty()) return {}; int m = matrix.size(); //行数
int n = matrix[].size(); //列数 vector<int> res;
int up = , down = m-, left = , right = n-;
while(true){
for(int j = left; j<=right;j++)
res.push_back(matrix[up][j]); if(++up > down) break; for(int j = up; j<=down; j++)
res.push_back(matrix[j][right]); if(--right < left) break; for(int j = right; j>= left; j--)
res.push_back(matrix[down][j]); if(--down < up) break; for(int j = down; j >= up; j--)
res.push_back(matrix[j][left]); if(++left>right) break;
}
return res;
}
};

注意下需要设置一个val变量,它的取值是不断递增的。

class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
int left = , right = n-, top = , down = n-, val = ;
vector<vector<int>> res(n, vector<int> (n,)); //初始化res为n个vector<int>的对象,每个又包含n个0
while(true){
for(int j = left; j<=right; j++)
res[top][j] = val++;
if(++top > down) break; for(int j = top; j<=down; j++)
res[j][right] = val++;
if(--right < left) break; for(int j = right; j>=left; j--)
res[down][j] = val++;
if(--down < top) break; for(int j = down; j>=top; j--)
res[j][left] = val++;
if(++left > right) break; }
return res;
}
};

leetcode 191:统计1的个数;5 最长回文串;54,59 蛇形矩阵的更多相关文章

  1. 【leetcode 简单】 第九十六题 最长回文串

    给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字符串的长度不 ...

  2. [LeetCode] Longest Palindrome 最长回文串

    Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...

  3. leetcode 每日签到 409. 最长回文串

    题目: 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: ...

  4. 从0打卡leetcode之day 6--最长回文串

    题目描述 给定一个字符串 s,找到 s中最长的回文子串.你可以假设 s 的最大长度为1000. 示例1 输入: "babad" 输出: "bab" 注意: &q ...

  5. leetcode.字符串.409最长回文串-Java

    1. 具体题目 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串.在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设 ...

  6. [LeetCode] Longest Palindromic Substring 最长回文串

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  7. LeetCode 409——最长回文串

    1. 题目 2. 解答 我们先来看一看回文子串的规律,如果回文子串的长度为偶数,那么其中所有的每个元素都出现了偶数次:如果回文子串的长度为奇数,那么有一个元素出现了奇数次而其余每个元素都出现了偶数次. ...

  8. LeetCode 5 Longest Palindromic Substring manacher算法,最长回文子序列,string.substr(start,len) 难度:2

    https://leetcode.com/problems/longest-palindromic-substring/ manacher算法相关:http://blog.csdn.net/ywhor ...

  9. leetcode 5 :Longest Palindromic Substring 找出最长回文子串

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

随机推荐

  1. btrfs的介绍与使用

    源文献:http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/index.html#ibm-pcon 简单看了一下这篇文章,对其中一些机制的实现还 ...

  2. Perl语言编程>>学习笔记2

    1. Perl中变量的常用表示  ${var} 相当于 $var  $Dog::days  在Dog包里面的变量$days  $#days  @days 的最后一个索引  ]  $days 引用的数组 ...

  3. 查看ubuntu 14.04的网关和DNS

    root@ubuntu:~# nm-tool NetworkManager Tool State: connected (global) - Device: eth0 [自动以太网] -------- ...

  4. javascript总结36:DOM-点击按钮切换图片案例

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  5. 使用华邦的SPI FLASH作为EPCS时固化NIOS II软件报错及解决方案

    Altera器件有EPCS系列配置器件,其实,这些配置器件就是我们平时通用的SPIFlash,据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间经过Altera公司的 ...

  6. 所有中心对称五字母域名生成,扫了一下,com的基本上都被注册了。。。

    public static void main(String[] args) { String[] letter = new String[]{"i","m", ...

  7. CSS与jQuery补漏

    1.position属性 这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. ...

  8. union 和 all union

    sql union用法和sql union all用法,sql union效率 1.sql union用法 sql union在查询中可以将两个SQL 语句的结果合并起来.如果这样看的话, UNION ...

  9. Asp.net MVC 自定义路由

    在做公司接口的时候  由于规范API 要用点分割. 如: HealthWay.controller.action 在MVC 4 下面做了个 路由配置如下: public override void R ...

  10. .net core 使用redis 基于 StackExchange.Redis

    一.添加引用包 StackExchange.Redis Microsoft.Extensions.Configuration   二.修改配置文件 appsettings.json   { " ...