Yujun's Blog

字符串中加粗的单词

给定一个关键词集合words  和一个字符串S,将所有  S  中出现的关键词加粗。所有在标签  <b>  和</b>中的字母都会加粗。返回的字符串需要使用尽可能少的标签,当然标签应形成有效的组合。例如,给定words  =  ["ab",  "

#leetcode   #简单  

字符串匹配-KMP算法

由D.E.Knuth、V.R.Pratt、J.H.Morris于1977年联合发表,简称KMP算法。问题描述        由两个字符串  ms  和  s,  需要确认  s  是否存在于  ms  中,        如果存在,返回s的第一个字符在  ms的下标位置朴素算法        使用双

#字符串匹配   #KMP  

Golang依赖管理

创建  go.mod        命令行创建(也可以直接IDE创建GO  modules  项目)cd$目录gomodint        会在目录下生成  go.mod  文件modulelearning//这里必须要和目录名是一致的go1.15安装依赖        如安装web框架  gin

#基础   #go  

Golang 面向“对象”

结构体和方法package mainimport "fmt"// 定义结构体,二叉树结点type treeNode struct {value intleft, right *treeNode}// 工厂函数func createNode1(value int) tr

#基础   #go  

斐波那契数列

写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:F(0)=0,  F(1) =1F(N)=F(N-1)+F(N-2),其中N>1.斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模1e9+7(1000000007),如计

#leetcode   #算法   #简单   #动态规划  

爬楼梯

假设你正在爬楼梯。需要  n 阶你才能到达楼顶每次你可以爬  1  或  2  个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定  n  是一个正整数。示例  1:        输入:  2        输出:  2        解释:  有两种方法可以爬到楼顶。        1.  

#leetcode   #算法   #简单   #动态规划  

Golang内建容器

数组packagemainimport"fmt"//go语言数组是值传递,这个函数只能传长度为5的int数组,传其他的会报错funcprintArr(arr[5]int){//因为是值传递,函数内对修改元素不会影响原始数组fori,v:=rangearr{fmt.Println(

#基础   #go  

Golang基础语法

变量定义packagemainimport("fmt")vartest11=45//在外部定义变量必须要用varvar(aa="多个也可以这样赋值"bb=34cc=232)funcmain(){//字符类型vartt='c'fmt.Printf("%

#基础   #go  

种花问题

假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False

#leetcode   #通向公式   #算法   #简单