ARTS WEEK 6

Algorithm:每周至少做一个leetcode的算法题;

Review:阅读并点评至少一篇英文技术文章;

Tip/Techni:学习至少一个技术技巧;

Share:分享一篇有观点和思考的技术文章。

A

28.Implement strStr()

Implement strStr().

题目描述:

Returns a pointer to the first occurrence of needle in haystack, ornullif needle is not part of haystack.


解题思路:

1.暴力求解

代码实现:


2.标准KMP算法

(1)先对模式串needle做“自匹配”,即求出模式串前缀与后缀中重复部分,将重复信息保存在next数组中。

(2)依据next数组信息,进行haystack与needle的匹配。

在匹配过程中,若发生不匹配的情况,如果next[j]>=0,则目标串的指针i不变,将模式串的指针j移动到next[j]的位置继续进行匹配;若next[j]=-1,则将i右移1位,并将j置0,继续进行比较。

kmp算法的关键在于求算next[]数组的值,即求算模式串每个位置处的最长后缀与前缀相同的长度。

代码实现:


R

Inline Functions in C++ - GeeksforGeeks

讲述cpp内联函数的优缺点,介绍其功能特性。

T

vscode快捷键学习

官方文档传送门Visual Studio Code Key Bindings

for linux版本https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf

Ubuntu下Vscode的实用快捷键

    代码格式化快捷键: ctrl+shift+i,不用全选或者选中。(巨实用)

    单行注释切换:ctrl + /

    添加单行注释:组合键 ctrl+k,ctrl+c

    取消单行注释:组合键 ctrl+k,ctrl+u

    返回上一步:Ctrl + alt +  -(最后一个是减号键,下同)

    返回下一步:Ctrl + shift + -

再附几篇关于vscode快捷键的博客

传送门:vscode: Visual Studio Code 常用快捷键 - 魚魚 - 博客园

Visual Studio Code 快捷键大全(linux版)-CSDN下


GitHub - LeonWuV/FE-blog-repository: 我的前端学习笔记仓库

S

1.什么是软件架构。2.建筑师做什么软件。

3.一些重要的决定都是软件工程师。

4.我们为什么需要软件架构。

Quick Introduction to Software Architecture - DZone Microservices

你可能感兴趣的:(ARTS WEEK 6)