vector subscript out of range数组下标越界错误「建议收藏」

vector subscript out of range数组下标越界错误「建议收藏」在使用vector二维数组时,产生vectorsubscriptoutofrange错误,检查之后并没有发现数组下标越界问题,百度了一下,发现原来是数组并没有初始化赋值,没有分配空间,所以不能采用下标的方式进行访问。解决方法有两个,一个是初始化数组的时候为其分配空间,其值全部赋值为0。vector<vector<int>>myvec(n,vector<int>(n,0));另一个就是使用vector.push_back添加元素,不使用下

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在使用vector二维数组时,产生 vector subscript out of range 错误,检查之

后并没有发现数组下标越界问题,百度了一下,发现原来是数组并没有初始化

赋值,没有分配空间,所以不能采用下标的方式进行访问。

解决方法有两个,一个是初始化数组的时候为其分配空间,其值全部赋值为0。

vector<vector<int> > myvec(n, vector<int>(n, 0));

另一个就是使用 vector.push_back 添加元素,不使用下标访问赋值的方式。

下面是出问题的程序:

//构造杨辉三角
class Solution { 
   
public:
	vector<vector<int>> generate(int numRows) { 
   
		vector<vector<int>> res(numRows);
		if (numRows < 1) return res;
		for (int i = 0; i < numRows; i++)
		{ 
   
			for (int j = 0; j <= i; j++)
			{ 
   
				if (j == 0 || j == i)
					res[i][j] = 1;
				else
					res[i][j] = res[i - 1][j - 1] + res[i - 1][j];
			}
		}
		return res;
	}
};

采用 vector.push_back 的方式解决了问题。

//构造杨辉三角
class Solution { 
   
public:
	vector<vector<int>> generate(int numRows) { 
   
		vector<vector<int>> res(numRows);
		if (numRows < 1) return res;
		for (int i = 0; i < numRows; i++)
		{ 
   
			for (int j = 0; j <= i; j++)
			{ 
   
				if (j == 0 || j == i)
					res[i].push_back(1);
				else
					res[i].push_back(res[i - 1][j - 1] + res[i - 1][j]);
			}
		}
		return res;
	}
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188851.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 阿里时间同步服务器地址

    阿里时间同步服务器地址阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com转载于:https://www.cnblogs.com/glc400/p/8330094.html…

    2022年7月16日
    31
  • redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析「建议收藏」

    redis:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析「建议收藏」1.错误信息思考:根据错误信息的字面意思,可以知道,redis-cli客户端程序,通过ip127.0.0.1,端口6379与redis服务器建立连接失败。说明当我们调用redis-cli时,默认是用本地回环地址去与服务器端建立连接。2.解决问题思路:服务器程序会在监听一个套接字(IP+端口号),等待客户端的连接。一般运行服务器程序的时候,都会加载一个配置文件。redis服务器也会读取一个配置文件。如果不知道配置文件在哪里,可以使用:whichredis.conf#或者whe

    2022年5月2日
    116
  • 关于数据库读写分离

    1、what读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、why那么为什么要读写分离呢?因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读…

    2022年4月6日
    43
  • idea配置svn仓库

    idea配置svn仓库IntelliJIDEA使用教程(总目录篇)首先,使用的时候,自己得先在电脑上安装个小乌龟。也就是svn啦。第一步安装小乌龟。如下:具体安装好像没什么具体要求,一路next,就好。如上图箭头所示,在安装TortoiseSVN的时候,默认commandlineclienttools,是不安装的,这里建议勾选上。这个我不确定我当时选没选,不过呢,你给安装上,也是没问题的。把上面的勾选取…

    2022年5月14日
    106
  • scala 隐式转换

    scala 隐式转换文章目录作用解决什么问题使用implicits的一些规则3.1.1标记规则3.1.2范围规则3.1.3一次规则3.1.4优先规则3.1.5命名规则3.1.6编译器使用implicit的几种情况3.2隐含类型转换3.3转换被方法调用的对象3.3.1支持新的类型3.3.2模拟新的语法结构实验总结implicit基本含义隐式转换隐式转换的另一个优点是它们支持目标类型转换.隐式转换操作规则隐式参数和spring的依赖注入之前关系与区别隐式转换类(ImplicitClasses)隐式类

    2022年10月11日
    3
  • APK签名机制原理详解

    APK签名机制原理详解众所周知,Android系统在安装Apk的过程中,会对Apk进行签名校验,校验通过后才能安装成功。那你知道签名校验的机制是什么?具体校验的是什么内容吗?申请第三方SDK(如微信支付)时填入的SAH1值是什么?目前众多的快速批量打包方案又是如何绕过签名检验的?我将通过一系列的文章来解开这些疑惑。

    2022年6月14日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号