腰酸腿疼肝数模

被教育说代码风格像是小学生而且有点冗余

QAQ之前面试官好像也说过orz努力改努力改

今天把前两天跳过的vector给简单看了一下补上了

Num 14 最长公共前缀 Longest Common Prefix

string在处理过程中有几个问题

第一string是const指针对应的

第二min函数比较要求类型完全相同(a,s.length())这种不能直接比较,要(a,(int)s.length())

另外需要注意的是,一个一个加字符最后加'\0'在数据比较大会出现stack-buffer-overflow,默认分配并没有那么多,相邻内存可能是被占用的、

https://blog.csdn.net/cny901111/article/details/7771668

可以使用substr,但这个需要头文件string

也可以string g(s,0,len)

s是被复制的字符串,0代表起始位置,len代表长度(是长度不是最后一个下标哦!)

还有注意修改过程中len=min(len,s1.length())

不然的话s1不够长可能会溢出

class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
int num=strs.capacity();
if(num==) return "";
if(num==) return strs.at();
string s=strs.at();
int len=s.length();
for(int i=;i<num;i++)
{
string s1=strs.at(i);
len=min(len,(int)s1.length());
for(int j=;j<min(len,(int)s1.length());j++)
{
if(s[j]!=s1[j])
{
len=j;
break;
}
}
}
string g(s,,len);
return g;
}
};

Num 26 删除排序数组中的重复项 Remove Duplicates from Sorted Array

边写边想O(1),比自己暴力搬动确实要好一些的,反复提示后面不用管,那么在len修改的过程中直接把数字带过去就好了

vector a 里面元素个数 a.capacity()

可以想象成数组,直接a[i],也可以用a.at(i)

注意一下呀这个有可能是空的,学会考虑边界条件 a.empty(),判断是否为空

class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.empty()) return ;
int now=nums[];
int len=;
for(int i=;i<nums.capacity();i++)
{
if(nums[i]>now)
{
now=nums[i];
nums[len++]=now;
}
}
return len;
}
};

leetcode每日刷题计划-简单篇day4的更多相关文章

  1. leetcode每日刷题计划-简单篇day5

    刷题成习惯以后感觉挺好的 Num 27 移除元素 Remove Element 跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len class Solution { public: i ...

  2. leetcode每日刷题计划-简单篇day3

    收到swe提前批面试hhh算是ep挂了的后续 努力刷题呀争取今年冲进去! Num 21 合并两个有序链表 Merge Two Sorted Lists 注意新开的链表用来输出结果的是ListNode ...

  3. leetcode每日刷题计划-简单篇day1

    orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...

  4. leetcode每日刷题计划-简单篇day12

    Num 125 验证回文串 Valid Palindrome 非常有收货的一道题嘻嘻嘻,本来是考试期间划水挑的题,坑点有点多 第一个是注意对temp1和temp2中途更新的判断 第二个是字符串频繁的作 ...

  5. leetcode每日刷题计划-简单篇day10

    跳题,不熟悉的留到周末再做. 保持冷静,不信画饼. num 100 相同的树 Same Tree 做法可能不是特别简洁,注意一下.最后判断完子树以后,要确定根的数值是一样的 然后在isleaf的判定先 ...

  6. leetcode每日刷题计划-简单篇day9

    Num 38 报数 Count and Say 题意读起来比较费劲..看懂了题还是不难的 注意最后的长度是sz的长度,开始写错写的len 在下次计算的时候len要更新下 说明 直接让char和int进 ...

  7. leetcode每日刷题计划-简单篇day6

    突发奇想&胡思乱想的一天 银行家算法证明错了并挂在黑板上的可怜希希 Num 53 最大子序和 Maximum Subarray O(n)的算法实现了,分治法有空补 class Solution ...

  8. leetcode每日刷题计划-简单篇day2

    今天数模比赛爆肝&操作系统大作业 脖子疼orz先把题过了保证flag不倒..个别细节回头看吧 Num 13 罗马数字转整数 Roman to Integer 一遍提交过,开始编译出了点问题 具 ...

  9. leetcode每日刷题计划-简单篇day13

    Num 169 先码,回头再说,摩尔算法... tle了 class Solution { public: int majorityElement(vector<int>& num ...

随机推荐

  1. 在Unity 3D中加入Image图片

    在Unity 3D中加入Image图片,我在刚开始是加不进去的,为什么呢?因为没有图片,图如下: 原因就是我们没有把图片设置为Script,图片的格式还是默认的那个,这只能作为贴图使用.我们将图片进行 ...

  2. maya_关于脚本编辑器导入python模块

    import sys for p in sys.path: print p rigDir = 'C:\Users\lenovo\Documents\maya\scripts\python\rigLib ...

  3. Python3字符串的操作

    红色字体代表必须记住 str.capitalize():把字符串的第一个字符大写 str.casefold():转换字符串中所有大写字符为小写,其他语言(非汉语或英文)中把大写转换为小写的情况只能用 ...

  4. 面试题-linux基础

    Linux基础和git linux的基础命令(怎么区分一个文件还是文件夹) ls -F  在显示名称的时候会在文件夹后面添加“/”, 在文件后面加“*” 日志以什么格式,存放在哪里?日志可以存储在“/ ...

  5. cmake add_custom_command 使用

    cmake add_custom_command 使用 今天整理编译工程,想在编译工程前面用tolua生成c文件, 使用命令add_custom_command后,附加的命令并不执行,如下: add_ ...

  6. pycharm2018.11最新激活码

    第一步:先按下键盘的win + r ,然后复制c:\windows\system32\drivers\etc粘贴到对话框回车打开文件管理器: 第二步:打开hosts文件,将0.0.0.0 accoun ...

  7. 如何清除Windows10中的恢复分区

    在Windows搜索框中键入Cmd.出现结果列表. 右键单击命令提示符并选择以管理员身份运行. 在命令提示符下键入diskpart,然后按Enter键. 输入list disk并按Enter键. 出现 ...

  8. 记录一次MyEclipse打开jsp文件出现Error的解决办法

    今天正在忙着写项目,在打开一个项目内的jsp文件时发现我亲爱的代码消失了. 最后从网上找到了解决办法,希望可以帮到有需要的人,也作为个人记录 第一步:找到安装路径MyEclipse\configura ...

  9. mysql 8126

    注意: 1) 修改后的innodb_file_format格式, 只影响后续创建的表. 也就是后续创建的表,可以支持把row_format设为dynamic,之前创建的表仍然会报错 2) SET GL ...

  10. OpenCV中feature2D——BFMatcher和FlannBasedMatcher

    作者:holybin 原文:https://blog.csdn.net/holybin/article/details/40926315 Brute Force匹配和FLANN匹配是opencv二维特 ...