G家10月电面

上个月的G家电面跪经(ಥ_ಥ),题目不难,一个口音很重的印度小哥。

先问什么是sub sequence,正确定义应该是顺序不变,删(or not)一些元素所形成的子集。

题目:给一个int array,问最大odd sum from it’'s subsequence.

遍历一遍 如果是正数就加到和里面 同时更新绝对值最小的奇正数和奇负数 最后如果是偶数就返回 奇数要么加上那个绝对值更小的负数 要不然就减去绝对值更小的正数

请问可以遍历一次求sum,如果是ood就返回整个array,如果是even就删掉最小odd num吗?

蠡口53变式

要考虑负数

subarray和subsequence是不一样的哦

噢!你说得对

考虑负数的话,就one pass, 记录最大负奇数N,最小正奇数P,同时对所有正数求和获得sum
如果sum是奇数,返回
如果sum是偶数,减去 min(abs(N), abs§) 这样?