目录
选择题
1、二维数组初始化
2、[]优先级高于*
编辑 3、for初始化只执行一次编辑
4、大小端
编程题
1、字符串中找出最长连续数字串
2、数组中出现次数超过一半的数
选择题
1、二维数组初始化
C:多初始化了一行
D:不能中间用两个逗号跳过。
2、[]优先级高于*
3、for初始化只执行一次
4、大小端
32位小端机器,运行结果是()
编程题
1、字符串中找出最长连续数字串
#include <iostream>
using namespace std;
int main() {
string str,cur,ret;
cin >> str;
for(int i = 0;i <= str.size();i++){
if(str[i]<='9' && str[i]>='0')
{
cur += str[i];
}
else
{
if(cur.size() > ret.size())
{
ret = cur;
}
else
{
cur.clear();
}
}
}
cout << ret <<endl;
}
2、数组中出现次数超过一半的数
#include <ctime>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型vector
* @return int整型
*/
int MoreThanHalfNum_Solution(vector<int>& numbers) {
// write code here
if(numbers.empty()) return 0;
int result = numbers[0];
int times = 1;
for(int i = 1;i < numbers.size();i++)
{
if(times != 0)
{
if(numbers[i] == result)
times++;
else times--;
}
else
{
result = numbers[i];
times = 1;
}
}
times = 0;
for(int i = 0;i < numbers.size();i++){
if(numbers[i] == result) times++;
}
return times > numbers.size()/2 ? result: 0;
}
};