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

day05休息,day06 有效的字母异位词、两个数组的交集、快乐数、两数之和

题目链接:有效的字母异位词、两个数组的交集、快乐数、两数之和

有效的字母异位词

时间复杂度: O(n)
空间复杂度: O(S), S为字符集大小,这里为26

Go

func isAnagram(s string, t string) bool {// s和t的长度一定是相等的if len(s) != len(t) {return false}// 共有26个字符chars := [26]int{}for _, ch := range s {chars[ch-'a']++}for _, ch := range t {if chars[ch-'a'] == 0 {return false}chars[ch-'a']--}return true
}

两个数组的交集

思路:

  1. 遍历nums1, 用map将nums1中的数字进行存储
  2. 遍历nums2,查询map中数字是否存在 如果count存在,就将数字加入到结果数组,并将key从map中删除

Go

时间复杂度: O(m+n)
空间复杂度: O(n)

func intersection(nums1 []int, nums2 []int) []int {nums1Map := map[int]struct{}{}result := []int{}// 记录nums1for _, v := range nums1 {if _, ok := nums1Map[v]; !ok {nums1Map[v] = struct{}{}}}// 遍历nums2,寻找交集for _, v := range nums2 {if _, ok := nums1Map[v]; ok {result = append(result, v)delete(nums1Map, v)}}return result
}

快乐数

注意项:计算过程中可能会无限循环,而始终得不到1, 即计算过程中的sum可能会重复,如果sum重复说明遇到了无限循环

go

func isHappy(n int) bool {// 用来收集summ := map[int]bool{}for n != 1 && !m[n] {m[n] = truen = getSum(n)}return n == 1
}func getSum(n int) int {sum := 0for n != 0 {// 获取个位数temp := n % 10sum += temp * temp// 移除掉个位n /= 10}return sum
}

两数之和

思路:value作为map的key,value的index作为map的value
时间复杂度: O(n)
空间复杂度: O(n)

Go

func twoSum(nums []int, target int) []int {m := make(map[int]int)for idx, v := range nums {if otherIdx, ok := m[target-v]; ok {return []int{otherIdx, idx}} else {m[v] = idx}}return []int{}
}
http://www.lryc.cn/news/290051.html

相关文章:

  • star原则
  • 蓝桥杯---九数组分数
  • 将 Amazon Bedrock 与 Elasticsearch 和 Langchain 结合使用
  • ###C语言程序设计-----C语言学习(6)#
  • Hadoop3.x源码解析
  • 基于vue实现待办清单案例
  • 应急响应-流量分析
  • 计算机网络·网络层
  • 2024/1/28周报
  • Vue3中的ref和shallowRef、reactive和shallowReactive
  • go包与依赖管理
  • C++文件操作基础 读写文本、二进制文件 输入输出流 文件位置指针以及随机存取 文件缓冲区以及流状态
  • nginx部署前端(vue)项目及配置修改
  • FreeRTOS
  • windows 10/11 home左键点击开始菜单无反应
  • 05.领域驱动设计:认识领域事件,解耦微服务的关键
  • 「仙逆」王麻子结丹救下老婆,极识斩杀金丹修士,元婴期下第一人
  • GoogleNet Inception v2 和 Inception v3详解
  • 在虚拟机上安装ubuntu
  • nav02 学习03 机器人传感器
  • Mysql-InnoDB-数据落盘
  • <el-date-picker>时间戳单位
  • 如何搭建Nextcloud云存储网盘并实现无公网ip访问本地文件【内网穿透】
  • 力扣hot100 子集 回溯 超简洁
  • Linux系统Shell脚本编程之条件语句
  • Jmeter连接数据库报错Cannot load JDBC driver class‘com.mysql.jdbc.Driver’解决
  • C# 获取计算机信息
  • 第4章 python深度学习——(波斯美女)
  • [UI5 常用控件] 03.Icon, Avatar,Image
  • python爬虫demo——爬取历史平均房价