Product of Array Except Self
2015-07-16 10:57
204 查看
For example, given
return
[1,2,3,4],
return
[24,12,8,6].
class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { int zerocount=0; int multi=1; int zeroflag; for(int i=0;i<nums.size();i++){ if(nums[i]==0) {zerocount++;if(zerocount>1) break;zeroflag=i;} else multi*=nums[i]; } if(zerocount>1) {vector<int>output(nums.size(),0);return output;} if(zerocount==1) {vector<int>output(nums.size(),0);output[zeroflag]=multi;return output;} else{ vector<int>output(nums.size(),0); for(int j=0;j<nums.size();j++){ output[j]=multi/nums[j]; } return output; } } };
class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { vector<int> res(nums.size(), 1); for (int i = nums.size()-2; i >=0; --i) { res[i] = res[i + 1] * nums[i + 1]; } int left = 1; for (int i = 0; i <= nums.size()-1; ++i) { res[i] *= left; left *= nums[i]; } return res; } };
相关文章推荐
- 最短路径问题(Dijkstra)
- 设置UITableViewCell背景色
- 深搜专题初步-1003
- 数据库按条件迁移表的列的值
- 《Spring技术内幕》学习笔记12——HibernateTemplate对Hibernate的封装
- 《Spring技术内幕》学习笔记13——SqlMapClientTemplate对Ibatis的封装
- 1.7 css依赖顺序的解析
- 操作系统---学习笔记0
- android 网络交互
- NSMutableString
- windows下用swig实现python调用C\C++的方法
- c# 多线程详解
- GRE写作必备句型
- LinkedHashMap实现原理
- 在opencv中,强分类器阈值是如何确定的?虚警率是怎么计算的?
- 【LintCode】Insert Intervals 插入区间
- pow(double x,int n)
- 最大公约数和最小公倍数的计算
- VS出现运行对话框程序 pThread->m_pMainWnd->DestroyWindow(); 错误
- 《Spring技术内幕》学习笔记10——Web环境中Spring的启动过程