leetcode-6-basic
2024-09-02 15:19:34
解题思路:
这道题真实地反映了我今晚有多脑残=。=只需要从根号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;
}
最新文章
- 解决NTKO Office中文文件名保存到服务器时出现乱码的问题
- 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]
- 昨晚值班将发dla的程序改好后放入正式环境
- meta name=";viewport"; content=";width=device-width,initial-scale=1.0"; 解释
- BigDecimal最基础用法
- 关于SqlServer2012本地帮助文档安装失败问题
- 多线程&;NSObject&;NSThread&;NSOperation&;GCD
- Qt通过UDP传图片,实现自定义分包和组包
- oracle的触发器
- 剑指Offer42 左旋字符串
- Javascript实现摩斯码加密解密
- oracle学习----去除表中的重复数据
- mysql数据库文件默认保存目录(windows)
- HttpURLConnection学习
- angular : ui-router 操作原理
- [Error]Python虚拟环境报错 OSError: setuptools pip wheel failed with error code 2
- 小飞侠带你精通Python网络编程系列04-Python内置的数据类型
- nginx的一次工作记录
- Django - 模型层 - 上
- Python运维开发基础06-语法基础
热门文章
- Mysql和oracle字段类型与java对象类型对应表收藏
- linux yum 安装
- Log4j输出格式log4j的PatternLayout参数含义
- 192.168.28.168:3000打开网页无法调试localhost为前缀的接口
- ConfigurationErrorsException: Unrecognized configuration section system.data.
- 【Unity3D】射箭打靶游戏(简单工厂+物理引擎编程)
- mui实现图片更换(暂未上传)
- Elasticsearch-基本操作2
- SQL Server 填充因子
- OSSIM安装与使用感受