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

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 蛇形矩阵的更多相关文章
- 【leetcode 简单】 第九十六题 最长回文串
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字符串的长度不 ...
- [LeetCode] Longest Palindrome 最长回文串
Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...
- leetcode 每日签到 409. 最长回文串
题目: 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: ...
- 从0打卡leetcode之day 6--最长回文串
题目描述 给定一个字符串 s,找到 s中最长的回文子串.你可以假设 s 的最大长度为1000. 示例1 输入: "babad" 输出: "bab" 注意: &q ...
- leetcode.字符串.409最长回文串-Java
1. 具体题目 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串.在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设 ...
- [LeetCode] Longest Palindromic Substring 最长回文串
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- LeetCode 409——最长回文串
1. 题目 2. 解答 我们先来看一看回文子串的规律,如果回文子串的长度为偶数,那么其中所有的每个元素都出现了偶数次:如果回文子串的长度为奇数,那么有一个元素出现了奇数次而其余每个元素都出现了偶数次. ...
- LeetCode 5 Longest Palindromic Substring manacher算法,最长回文子序列,string.substr(start,len) 难度:2
https://leetcode.com/problems/longest-palindromic-substring/ manacher算法相关:http://blog.csdn.net/ywhor ...
- leetcode 5 :Longest Palindromic Substring 找出最长回文子串
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...
随机推荐
- <<C++标准程序库>>中的STL简单学习笔记
0. 内容为个人学习笔记, 仅供参考, 如有错漏, 欢迎指正! 1. STL中的所有组件都是由模板构成的, 所以其元素可以是任意型别的. 组件有: - 容器: 管理某类对象的集合. 不同的容器有各自的 ...
- 免秘钥oracel官方下载jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...
- jcabanillas/yii2-inspinia-asset composert 安装失败
minimum-stability (root-only) 这定义了通过稳定性过滤包的默认行为.默认为 stable(稳定).因此如果你依赖于一个 dev(开发)包,你应该明确的进行定义. 对每个包的 ...
- Sql优化,面试经验总结
(1)列优先 如图有表A和表B 对其查询时,会有如下语句: select a.*,b.* from a,b where a.id = b.a_id; 注意from 后边的表名, a.如果多表查询是完全 ...
- javascript总结21:javascript-JSON与遍历
1 什么是JSON JavaScript Object Notation(JavaScript对象表示形式) JavaScript的子集 JSON和对象字面量的区别 JSON的属性必须用双引号引号引起 ...
- OpenCV4Android安装
转:http://blog.csdn.net/gao_chun/article/details/49359535 1.下载及目录介绍 2.将 OpenCV引入 Android Studio 3.更新 ...
- ubuntun16.0 登陆密码忘记
1. 开机,如下图所示(没有装虚拟机,手机拍的图片凑合这看把): 2. 此时会有一个选项:Advanced Options for Ubuntu, 选中直接回车 ,如下图: 3. 看到里面有很多选项, ...
- VC6.0 多线程输出乱序问题
今天尝试编写多线程最简单的例子 #include "stdafx.h" #include "windows.h" #include <iostream&g ...
- linux安装memcache及memcache扩展
一.安装libevent# wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz# tar zxf libevent-2.0 ...
- jquery datepicker 中文
<script type="text/javascript"> jQuery(function(){ $.datepicker.regional['zh-CN'] = ...