元素出栈、入栈顺序的合法性/计算一个整数二进制位中1的个数。
2017-07-21 20:13
302 查看
元素出栈、入栈顺序的合法性。
如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。bool isLegally(const vector<int>& input,const vector<int>& output) { stack<int> st; int i = 0, j = 0; while (i < input.size()) { st.push(input[i++]); while (st.top() == output[j]&&j<output.size()) { j++; st.pop(); if (st.empty()) return true; } if (j >= output.size()) return false; } return false; }
计算一个整数二进制位中1的个数。
要求效率尽可能的高。且能正确求正数和负数的二进制中1的个数。class Solution { public: /** * @param num: an integer * @return: an integer, the number of ones in num */ int countOnes(int num) { // write your code here int count=0; while(num) { ++count; num&=(num-1); } return count; } };
相关文章推荐
- day08之元素出栈、入栈顺序的合法性+计算一个整数二进制位中1的个数
- 元素出栈、入栈顺序的合法性(判断一个字符串是否按照出栈顺序)
- 计算一个二维整数数组score所有元素的平均值。
- 判断元素出栈、入栈顺序的合法性。如:入栈的序列( 1,2,3,4,5 ),出栈序列为 ( 4,5,3,2,1 )是合法序列,入栈的序列( 1,2,3,4,5 ),出栈序列为( 1,5,3,2,4 )是
- [置顶] 关于元素出栈、入栈顺序的合法性的事儿
- ~元素出栈、入栈顺序的合法性~
- 计算一个整数二进制位中1的个数
- 正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项
- 请实现一个队列,既可以存放整数,又可以存放字符串。简单的说,队列是一种数据结构,按照先进先出的顺序管理进、出队列的元素
- 元素出栈、入栈顺序的合法性
- 判断元素出栈、入栈顺序的合法性
- 计算一个整数二进制位中1的个数
- 计算一个整数二进制位中1的个数
- 元素出栈、入栈顺序的合法性
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- 13.计算一个整数数组的所有元素的和。
- 元素出栈、入栈顺序的合法性
- 元素出栈、入栈顺序的合法性
- 判断元素出栈、入栈顺序的合法性
- 元素出栈、入栈顺序的合法性【数据结构】