美文网首页生活不易 我用python数据结构和算法分析C++
Python与C++对溢出?处理的不同让我忽略了一个错误

Python与C++对溢出?处理的不同让我忽略了一个错误

作者: 御史神风 | 来源:发表于2018-08-04 16:41 被阅读4次

Python C++ 语言差异 数组溢出 算法 01背包问题

前言

第一次实现01背包问题的解,在python上先写了实现,然后用C++再写一遍。发现几乎一样的代码,python上能很好工作,而C++中虽然能够正常编译,得到的结果却并不正常。
PS:我用的是C-Free,编译0警告0错误
问题出在以下语句

#python
array = [4, 5]
#array[-1]:5
//cpp
int *array = new int[2];
array[0] = 4; array[1] = 5;
//array[-1]:overflow

犯下的错误

  • 01背包问题解空间的大小是物品数*(重量数+1),而我漏了+1,实际上遗漏了重量为0的情况,才有了溢出的一幕
  • 由于python中array[-1]指数组最后一个数的值,没有详细检查数据,所以压根没有发现出现了下标为-1的情况

还是太年轻啊

相关文章

网友评论

    本文标题:Python与C++对溢出?处理的不同让我忽略了一个错误

    本文链接:https://www.haomeiwen.com/subject/knemvftx.html