当前位置: 首页 > news >正文

代码随想录算法训练营第九天 |151.翻转字符串里的单词、 LCR 182. 动态口令、28. 实现 strStr()、459.重复的子字符串

151.翻转字符串里的单词

思路:前去头空格,再去尾空格,然后依次取出所有的单词,然后用一个字符串接受,然后从放入的数组,倒置输出。难在去空格细节,我是内置for来进行去空格的

func reverseWords(s string) string {runes := []rune(s)hash := make([]string,0)//去空格//去掉首尾for runes[0] == ' ' || runes[len(runes)-1] == ' '{if runes[0] == ' '{runes = runes[1:len(runes)]}if runes[len(runes)-1] == ' '{runes = runes[0:len(runes) - 1]}}runes = append(runes,' ')record := 0for i,i2 := range runes{if i2 == ' ' && i > record{hash = append(hash,string(runes[record:i]))record = ifor runes[record] == ' ' && record < len(runes) - 1{record++}}}res := ""for i := len(hash)-1;i >=0 ; i--{res += hash[i]res += " "}return res[0:len(res) - 1]
}

  

LCR 182. 动态口令

思路:LLM找的类似题,很简单就从头部取那个要放在后面的字符,然后加上去,最后在原串返回的时候截断前面几个就行

func dynamicPassword(password string, target int) string {newstr := password[0:target]password =  password + newstrreturn password[target:]
}

  

28.实现 strStr()

思路:就是找子串,然后我们对比这个子串在不在母串里面,在的话就返回

func strStr(haystack string, needle string) int {needle_len := len(needle)if len(haystack) < needle_len{return -1}for i:=0 ; i <= len(haystack) - needle_len;i++{if needle == haystack[i:i+needle_len]{return i}}return -1
}

  

459.重复的子字符串

思路:遍历完所有的子串,然后匹配母串是否能由子串组成。记得剪枝。

func repeatedSubstringPattern(s string) bool {if len(s) == 0 {return true}lens := len(s)tag := false//先确定一个子串然后for i := 1; i < lens; i++ {//这样的话无法组成if lens % i != 0{continue}sub := s[0:i]lensb := len(sub)for j := 0; j <= lens-lensb; j += lensb {println(sub)if sub != s[j:j+lensb] {break}if j == lens-lensb {tag = true}}}return tag
}

  

http://www.hskmm.com/?act=detail&tid=17336

相关文章:

  • 当日总结(课后作业2)
  • Codeforces Global Round 29 (Div. 1 + Div. 2) A~E
  • AI 低代码平台:不止于 “快”,解码技术融合的深层逻辑
  • 实用指南:【知识拓展Trip Five】寄存器
  • 计算机视觉(opencv)实战二十七——目标跟踪 - 教程
  • P8367 [LNOI2022] 盒
  • 蓝桥杯 2025 省 B 题:画展布置 - 题解笔记
  • 二维坐标下的运算
  • Polar2025秋季个人挑战赛web-writeup
  • Day4
  • 题解:P12751 [POI 2017 R2] 集装箱 Shipping containers
  • 弱网配置
  • 绘制金融集团监控大屏的地图demo
  • 实用指南:《原神助手》开源神器:游戏体验大升级
  • 9-25
  • AT_agc021_d [AGC021D] Reversed LCS
  • adb shell 常用文件命令
  • Java文件编程
  • 自我介绍与规划
  • 软件工程学习日志2025.9.25
  • 从50ms到30ms:YOLOv10部署中图像预处理的性能优化实践 - 实践
  • redis实现分布式锁1
  • 完整教程:(13)GPS/无GPS转换
  • Transformer自回归关键技术:掩码注意力原理与PyTorch完整实现
  • 第四篇
  • PyTorch图神经网络(六)
  • Qwen多模态系列模型笔记—Qwen-VL
  • go 语法里变量前面增加、*区别
  • 历程回顾-(2024-2025)
  • CF Round 1053(2150 2151) 总结