解题思路:

这道题真实地反映了我今晚有多脑残=。=只需要从根号N开始向前找,第一个能被N整除的数就是width,然后存到结果就

可以了。因为离根号N越近,width越大,与length的差越小。

vector<int> constructRectangle(int area) {
vector<int> result;
int i;
//float min = 0.1;
int length,width;
int start = pow(area, 0.5);
for (i = start; i >= 1; i--) {
if (area % i == 0) {
width = i;
length = area / i;
break;
}
}
result.push_back(length);
result.push_back(width);
return result;
} 

解题思路:这道题要求运行时间为O(n)且不能有额外的空间,有点意思。不过题目限定数组里都是正整数,且刚好在[1,size]

的范围内,所以考虑用负号做区分。从头开始扫描,将nums[nums[i]-1]的值设为负数,那么等扫描过一遍之后,

仍然是正数的index再加1就是缺失的数了。需要注意的是,设负数后,index会有负数,所以应该是将nums[abs(nums[i]) - 1]

设为负数。

vector<int> findDisappearedNumbers(vector<int>& nums) {
vector<int> result;
int i;
for (i = 0; i < nums.size(); i++) {
if (nums[abs(nums[i])-1] > 0)
nums[abs(nums[i])-1] *= -1;
}
for (i = 0; i < nums.size(); i++) {
if (nums[i] > 0)
result.push_back(i+1);
}
return result;
}

最新文章

  1. 解决NTKO Office中文文件名保存到服务器时出现乱码的问题
  2. 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
  3. 昨晚值班将发dla的程序改好后放入正式环境
  4. meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1.0&quot; 解释
  5. BigDecimal最基础用法
  6. 关于SqlServer2012本地帮助文档安装失败问题
  7. 多线程&amp;NSObject&amp;NSThread&amp;NSOperation&amp;GCD
  8. Qt通过UDP传图片,实现自定义分包和组包
  9. oracle的触发器
  10. 剑指Offer42 左旋字符串
  11. Javascript实现摩斯码加密解密
  12. oracle学习----去除表中的重复数据
  13. mysql数据库文件默认保存目录(windows)
  14. HttpURLConnection学习
  15. angular : ui-router 操作原理
  16. [Error]Python虚拟环境报错 OSError: setuptools pip wheel failed with error code 2
  17. 小飞侠带你精通Python网络编程系列04-Python内置的数据类型
  18. nginx的一次工作记录
  19. Django - 模型层 - 上
  20. Python运维开发基础06-语法基础

热门文章

  1. Mysql和oracle字段类型与java对象类型对应表收藏
  2. linux yum 安装
  3. Log4j输出格式log4j的PatternLayout参数含义
  4. 192.168.28.168:3000打开网页无法调试localhost为前缀的接口
  5. ConfigurationErrorsException: Unrecognized configuration section system.data.
  6. 【Unity3D】射箭打靶游戏(简单工厂+物理引擎编程)
  7. mui实现图片更换(暂未上传)
  8. Elasticsearch-基本操作2
  9. SQL Server 填充因子
  10. OSSIM安装与使用感受