leetcode-6-basic

解题思路:
这道题真实地反映了我今晚有多脑残=。=只需要从根号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;
}
leetcode-6-basic的更多相关文章
- [LeetCode] 224. Basic Calculator 基本计算器
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- [LeetCode] 227. Basic Calculator II 基本计算器 II
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- [LeetCode] 772. Basic Calculator III 基本计算器之三
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- [LeetCode] 227. Basic Calculator II 基本计算器之二
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- LeetCode#227.Basic Calculator II
题目 Implement a basic calculator to evaluate a simple expression string. The expression string contai ...
- Java for LeetCode 227 Basic Calculator II
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- Java for LeetCode 224 Basic Calculator
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- (medium)LeetCode 224.Basic Calculator
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- (medium)LeetCode 227.Basic Calculator II
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- leetcode 224. Basic Calculator 、227. Basic Calculator II
这种题都要设置一个符号位的变量 224. Basic Calculator 设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 class Solution { public: int calcu ...
随机推荐
- WAMP3.1.10/Apache 设置站点根目录
网上的资料很多都不起作用了,都是说修改 WAMP\bin\apache\apache2.4.27\conf\httpd.conf 文件,但是修改了之后完全没有效果!! 最后,稀里糊涂的把 WAMP\b ...
- Kestrel服务器
Kestrel服务器 什么是Kestrel服务器 Kestrel是开源的(GitHub提供的源代码),事件驱动的异步I / O服务器,用于在任何平台上托管ASP.NET应用程序.这是一个监听服务器和一 ...
- MDX属性查询
SELECT NON EMPTY { { { { { AddCalculatedMembers([会员.会员ID].[会员ID].Members), [会员.会员ID].[(All)] } } } } ...
- WebStorm技巧-集成命令行工具插件
打开菜单项 File -> Settings- 搜索插件 CMD Support,并安装. 重启WebStorm,在你的项目中新建一个Cmd script 文件,命名为build.cmd ...
- ASPECTJ 注解。。。
public interface ISomeService { public void doSome(); public String dade(); } public class SomeServi ...
- 实例——省市区三级联动 & 还可以输入字符统计
1 省市区三级联动 html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- 小米OJ刷题日志
虽然这OJ上的题比较水,但还是挺有意思的.关键是能赚钱 特别是提交方式 居然不支持C++,垃圾OJ 4. 最长连续数列 排序后dp 5. 找出旋转有序数列的中间值 写个排序就做完了. 6. 交叉队列 ...
- .Net平台互操作技术:02. 技术介绍
上一篇文章简单介绍了.Net平台互操作技术的面临的主要问题,以及主要的解决方案.本文将重点介绍使用相对较多的P/Invoke技术的实现:C#通过P/Invoke调用Native C++ Dll技术.C ...
- centos7使用yum安装不了ffmpeg
[root@localhost]# yum install ffmpeg Loaded plugins: fastestmirror Loading mirror speeds from cached ...
- sizeof(int)
sizeof()操作符检测的是系统为后面()中的类型.变量等分配的内存空间的字节数,这里()中是int,就是求系统为int类型的变量分配几个字节. 在16位int平台下是2:在32位int平台下是4: ...