![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基本算法
文章平均质量分 77
imBing
这个作者很懒,什么都没留下…
展开
-
求一个数组中的最大子段和
最大子段和: 数组中子段(连续的n个元素)元素累加最大的和思路:利用动态规划。最大子段和构成:最大子段和对应的子段的左右相邻的子段的和一定是小于等于0的,否则,该子段的和不是最大子段和。因此,从头至尾累加数组中元素,若出现小于0,当前子段对最大子段和为负贡献,则舍弃,从下一个元素开始累加。max_sum 为当前最大子段和sum为当前子段的和a[i] 为当前元素则:原创 2012-11-23 18:22:24 · 1091 阅读 · 0 评论 -
一个整型数组里除了两个数字之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。
要求时间复杂度是O(n),空间复杂度是O(1)。思路:1.通过异或运算,可以消除两个相同的数: A ^ A = 02.若一组数中仅有一个数字出现一次,其它数字均出现两次,将这组数字逐个做异或运算,结果就是仅出现一次的数字。3.数组中有两个仅出现一次的数字,其它数字均出现两次,所以最终异或结果即为这两个数异或的结果。4.这个结果中右起第一个不为1的位(第n位)表示这两个数的该位不原创 2012-11-23 16:38:35 · 1245 阅读 · 0 评论