腰酸腿疼肝数模

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

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. springCloud、springBoot学习

    http://projects.spring.io/spring-cloud/  官网https://springcloud.cc/spring-cloud-netflix.htmlhttp://cl ...

  2. C#编写CLR函数

    本案例在VS2017环境中开发: 1.新建项目,“数据库项目”,添加 UserDefinedFunctions.cs类文件,代码如下: using System; using System.Data; ...

  3. for循环的运算 改变循环的控制流 死循环 遍历数组 定义方法 有名函数匿名函数 定义函数的方法取值 与 自己创建函数取值 局部与全局变量 次幂/随机数/取绝对值/向上取整/平方根

    今天学习的是for循环,对for循环的运算有了理解. document.write(" ")里的内容在网页上展示出来 有名函数非常重要!!!!!!!!!!!!!!!!!!!!!并且 ...

  4. PYTHON的前端部分

    CSS部分,CSS起到修饰HTML的作用比如颜色,字体,等等. css如何和HTML共同其作用,那么CSS有几种引入HTML的方式 那么当引入了CSS如何让css对应的使相应的HTML标签上起作用,就 ...

  5. robot framework关键词记录单(更新中)

    1.select Radio Button groupname  value 选择单选按钮 A)适用于input的html单选框,属性中包含name以及value如:Select Radio Butt ...

  6. SQL Server 快速大数据排序方法

    SQL Server 中虽然有 ORDER BY NewID() 方法,但对于数据量比较大的结果集来说,排序那慢的可不是一星半点. 微软官方给了一种方案,https://msdn.microsoft. ...

  7. UCenter通信原理

    https://www.jb51.net/article/59666.htm 1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也 ...

  8. CSS 中的 !important 属性

    !important的作用就是提高指定样式属性的优先级. 一般情况下,我们对同一个元素设置样式属性的时候,对同一个属性设置了两个甚至多个值,像下面这样: p { /* 例1 */ color:red; ...

  9. orientdb docker-compose 运行

    orientdb 很早就跑过,但是现在在跑,发现配置有些变动,原有studio 直接就可以访问的,新版本的居然还需要自己添加 server 的配置,所以为了方便使用docker-compose 运行, ...

  10. 创建一个dynamics 365 CRM online plugin (五) - Images in Plugin

    Snapshots of the primary entity's attributes from database before(pre) and after (post) the core pla ...