记录LeetCode的一点一滴
2015-10-10 16:15
232 查看
以前的csdn号找不到了,不过以前也没写过博客。。。。研究生比较自主,每天刷一点LeetCode吧!那就记录一下。
PS:之前没搞过算法,算导什么的也从来没刷过,渣渣一个!!算法大神多指教。。。
AC的第一道:
Given an array
For example, given
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
这道题应该算非常简单的,只是两个要求要注意一下,一是要原地换序,不要做拷贝(目测空间复杂度有要求),移动次数尽可能少。
我的代码:
void moveZeroes(int* nums, int numsSize) {
int i , j ;
for(i = 0 , j = 0 ; i < numsSize ; i++)
{
if(nums[i] != 0)
{
if(j)
{
nums[i - j] = nums[i];
nums[i] = 0;
}
}
else
j++;
}
}
求各路大神轻喷指教。。
PS:之前没搞过算法,算导什么的也从来没刷过,渣渣一个!!算法大神多指教。。。
AC的第一道:
Move Zeroes
Given an array
nums, write a function to move all
0's to the end of it while maintaining the relative order of the non-zero elements.
For example, given
nums = [0, 1, 0, 3, 12], after calling your function,
numsshould be
[1, 3, 12, 0, 0].
Note:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
这道题应该算非常简单的,只是两个要求要注意一下,一是要原地换序,不要做拷贝(目测空间复杂度有要求),移动次数尽可能少。
我的代码:
void moveZeroes(int* nums, int numsSize) {
int i , j ;
for(i = 0 , j = 0 ; i < numsSize ; i++)
{
if(nums[i] != 0)
{
if(j)
{
nums[i - j] = nums[i];
nums[i] = 0;
}
}
else
j++;
}
}
求各路大神轻喷指教。。
相关文章推荐
- 新注册
- 动易2006序列号破解算法公布
- 四大漏洞入侵博客
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 在Ubuntu系统上安装Ghost博客平台的教程
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析