26. Remove Duplicates from Sorted Array
26. Remove Duplicates from Sorted Array
题目
Given a sorted array, remove the duplicates in-place such that each element appear only once and return the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
Example:
Given nums = [1,1,2],
Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively.
It doesn't matter what you leave beyond the new length.
解析
- 此题和在字符串中去掉某一元素类似str[j++]=str[i]
- 此题说清楚了的,只是没有理解in-place算法意思
class Solution_26 {
public:
// 此题没有说清楚,return 长度;但是nums要是去掉重复元素的
int removeDuplicates(vector<int>& nums) {
if (nums.size()<2)
{
return nums.size();
}
//int cnt = 0;
//int j = 0;
//for (int i = 1; i < nums.size();)
//{
// if (nums[j] == nums[i])
// {
// i++;
// }
// else //没有去掉重复元素
// {
// cnt++;
// j = i;
// i++;
// }
//}
//return cnt+1;
int cnt = 1;
for (int i = 1; i < nums.size();i++)
{
if (nums[i]!=nums[i-1])
{
nums[cnt++] = nums[i];
}
}
return cnt;
}
int removeDuplicates1(int A[], int n) {
if (n<2)
{
return n;
}
int cnt = 1;
for (int i = 1; i < n;i++)
{
if (A[i]!=A[i-1])
{
A[cnt++] = A[i];
}
}
return cnt;
}
};
题目来源
C/C++基本语法学习
STL
C++ primer
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· C#钩子(Hook) 捕获键盘鼠标所有事件 - 5分钟没有操作,自动关闭 Form 窗体
· 特斯拉CEO埃隆.马斯克的五步工作法,怎么提高工程效率加速产品开发?