金山云-9.23 C++后台开发笔试

简介: 金山云-9.23 C++后台开发笔试
  • 按照从上到下,从左往右顺序输入一颗二叉树中每一个结点对应的权重,判断该满二叉树是否存在这样的非叶子节点,使得左数所有叶子结点之和等于右树所有叶子结点之和,如果存在输出Yes,不存在输出No。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <numeric>
#include <sstream>
using namespace std;

int sum(vector<int>v, int index)
{
    if (index<v.size())
        return v[index] + sum(v, 2 * index + 1) + sum(v, 2 * index + 2);
    else return 0;
}
int main()
{
    //input  demo
    vector<vector<int>> v;
    int count;
    cin >> count;
    getchar();
    for (int i = 0; i < count; i++)
    {
        vector<int> temp;
        string str;
        getline(cin, str);
        stringstream ss;
        ss << str;
        string number;
        while (getline(ss, number, ' '))
        {
            temp.push_back(stoi(number));
        }
        v.push_back(temp);
    }
    //
    for (int k = 0; k < v.size(); k++)
    {
        int flag = 0;
        for (int i = 0; i <= (v[k].size() / 2 - 1); i++)
        {
            if (sum(v[k], 2 * i + 1) == sum(v[k], 2 * i + 2))
            {
                cout << "Yes" << endl;
                flag = 1;
                break;
            }
        }
        if (flag == 0) cout << "No" << endl;
    }
}
  • 输入正整数n,判断1-n之间整数出现5的次数(暴力解法)
#include <iostream>
using namespace std;

int findFive(int n){
    int res = 0;
    for (int i = 1; i <= n; i++) {
        int temp = i;
        while (temp > 0) {
            if (temp % 10 == 5) {
                res++;
            }
            temp = temp / 10;
        }
    }
    return res;
}

int main() {
    int n;
    cin >> n;
    cout << findFive(n) << endl;
    return 0;
}
目录
相关文章
|
7月前
|
算法 C++
48天C++笔试强训 001(下)
48天C++笔试强训 001(下)
30 1
|
7月前
|
存储 C语言 C++
48天C++笔试强训 001(上)
48天C++笔试强训 001
37 0
|
存储 安全 编译器
重拾C++经典笔试30题(21-30)
重拾C++经典笔试30题(21-30)
119 0
|
存储 编译器 C++
重拾C++经典笔试30题(11-20)
重拾C++经典笔试30题(11-20)
149 0
|
存储 安全 编译器
重拾C++经典笔试30题(1-10)
解读:baseClass类包含1个虚函数表指针(4个字节)、1个int型数据成员(4个字节)、1个char型数据(对齐后4个字节)成员,共12个字节。 midClass1同midClass2一致,需要在baseClass类的基础上,多了1个虚函数表指针(4个字节)、1个指向虚基类表的指针(4个字节)、一个整形数据成员(4个字节),合计共12+12 =24个字节。 derivedClass 在上述的基础上,包含baseClass(12个字节)、midClass1(新增12个字节)、midClass2(新增12个字节)、derivedClass的1个整形数据成员(4个字节),合计共4
143 0
|
C++ 开发者 安全
重拾C++经典笔试30题(1-10)
C++经典笔试30题(1-10)详解。
5062 0
|
C++ 开发者 存储
重拾C++经典笔试30题(11-20)
C++经典笔试30题(11-20)示例。
279 0
|
C++ 开发者 编译器
|
C++ Windows 编译器
|
存储 C++
C/C++ 笔试、面试题目大汇总 [转]
用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。
1388 0