小编cod*_*212的帖子

为矢量分配内存

谁能告诉我为什么这个程序崩溃了?基本上我是在尝试创建一个数组向量?

#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;

int main() {
    vector <int> arr[100];
    arr[0][0] =5;
    printf("%d",arr[0][0]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ vector

0
推荐指数
1
解决办法
57
查看次数

map(long long int,long long int)不适用于key = 1000 000 000(在long long int范围内)

最近我问了一个问题,但是关于递归导致了这个问题

注意 - > count()该函数返回键K在映射容器中的出现次数.如果密钥存在于容器中,则返回1,因为映射仅包含唯一键.如果映射容器中不存在该键,则返回0.它几乎通过了所有的测试用例,但是1 000 000 000 根据long long int range值失败,它也应该通过这个,但是它给出了一些负值作为输出; 我认为这是容器地图的问题任何人都可以帮我解决地图上的错误吗?

    #include<bits/stdc++.h>
    using namespace std;
    map <long long int,long long int> dp;
    int exchange(long long int n){
        if(n<12)
            return n;
        if(dp.count(n))
            return dp[n];
        return dp[n] = exchange(n/2)+exchange(n/3)+exchange(n/4);
    }
    int main(){
     //   int t;
       // cin>>t;
        while(1){
      //      memset(dp,-1,sizeof(dp));
            long long int n;
            cin>>n;
            cout<<exchange(n)<<endl;
        }

    }
Run Code Online (Sandbox Code Playgroud)

c++ recursion

0
推荐指数
1
解决办法
151
查看次数

标签 统计

c++ ×2

recursion ×1

vector ×1