先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
例如字符串:leetcode
i遍历到了t
那么内层循环就会遍历:leet、eet、et、t
然后判断这些子串中有没有与字典里的单词匹配,若匹配且当前dp[j]为真,则dp[i]为真
判断dp[j] 是因为若dp[j]为真,则代表j字符可以到达,那么当前字符子串以j为起始并且字典里存在此子串,所以当前子串的结尾处也可以到达(dp[i] = true)
dp[0] 赋初值true,因为若子串起始字符为第一个字符,那么从第一个字符出发的子串当然是可以的
最后判断dp[]最后一个位置是否为真,若为真则说明此字符串可以通过字典里的单词拼凑到达最后一个字符
一开始的笨办法,虽然笨且慢,不过可能更便于理解:
class Solution {
public:
bool wordBreak(string s, vector<string>& wordDict) {
int len = s.size();
auto dp = vector<bool> (len + 1);
dp[0] = true; //dp[0]赋值
for(int i = 1; i <= len; i++){ //外层循环遍历字符串
int sw = true; //开关,若内层循环确定当前字符可到达则进行下一个字符
for(int j = 0; j < i && sw; j++){ //内层循环遍历i字符前每一个以i字符结尾的子串
for(auto word:wordDict){ //在字典里面找有没有此子串
if(dp[j] && (word.compare(s.substr(j, i - j)) == 0)){
dp[i] = true; //如果子串存在可到达则i字符后一个字符也可到达
sw = false; //如果当前字符可到达则无需继续遍历子串
}
}
}
}
return dp[len];
}
};
加入unordered_set之后快了很多
### 最后
**前端CSS面试题文档,JavaScript面试题文档,Vue面试题文档,大厂面试题文档**
![](https://img-blog.csdnimg.cn/img_convert/2b644397e4229f7e113cbc43dd6e3a7f.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/018f5e73e2b51a518b33dfea084f2e1f.webp?x-oss-process=image/format,png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)**
![img](https://img-blog.csdnimg.cn/img_convert/32700c02eb079cb7ca3af917bdbf8c56.png)
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**