![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 54
os-lee
微信联系:lee-aigc
全栈架构:Golang,Java,Python,Vue。
业务范围:
1. llm大模型,知识中台,OCR,目标检测,游戏辅助
2. 微服务,云原生,devops技术方案
3. 毕业设计指导
展开
-
9.每日LeetCode-笔试题,判断字符串中字符是否全都不同
问题描述 判断字符串中字符是否全都不同请实现一个算法,确定一个字符串的所有字符【是否全都不同】。这里我们要求【不允许使用额外的存储结构】。给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在相同的字符。保证字符串中的字符为【ASCII字符】。字符串的长度小于等于【3000】。解题思路这里有几个重点,第一个是ASCII字符,ASCII字符字符一共有256个,其中128个是常用字符,可以在键盘上输入。128之后的是键盘上无法找到的。原创 2024-06-21 17:34:01 · 220 阅读 · 1 评论 -
8.每日LeetCode-笔试题,交替打印数字和字母
交替打印数字和字母使用两个 goroutine 交替打印序列,一个 goroutine 打印数字, 另外一个 goroutine 打印字母, 最终效果如下:问题很简单,使用 channel 来控制打印的进度。使用两个 channel ,来分别控制数字和字母的打印序列, 数字打印完成后通过 channel 通知字母打印, 字母打印完成后通知数字打印,然后周而复始的工作。原创 2024-06-19 23:26:40 · 391 阅读 · 0 评论 -
7.每日LeetCode-链表类,合并两个有序链表(Go)
/ 21. 合并两个有序链表// 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。// 示例 1:// 输入:l1 = [1,2,4], l2 = [1,3,4]// 输出:[1,1,2,3,4,4]// 示例 2:// 输入:l1 = [], l2 = []// 输出:[]// 示例 3:// 输入:l1 = [], l2 = [0]// 输出:[0]//// 提示:// 两个链表的节点数目范围是 [0, 50]原创 2024-06-13 12:05:20 · 128 阅读 · 0 评论 -
6.每日LeetCode-数组类,找到所有数组中消失的数字(Go)
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。进阶:你能在不使用额外空间且时间复杂度为 O(n) 的情况下解决这个问题吗?你可以假定返回的数组不算在额外空间内。输入:nums = [4,3,2,7,8,2,3,1]448找到所有数组中消失的数字.go。输入:nums = [1,1]原创 2024-06-12 10:36:28 · 253 阅读 · 0 评论 -
5.每日LeetCode-数组类,合并两个有序数组(Go)
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输入:nums1 = [0], m = 0, nums2 = [1], n = 1。输入:nums1 = [1], m = 1, nums2 = [], n = 0。解释:需要合并 [1,2,3] 和 [2,5,6]。解释:需要合并的数组是 [] 和 [1]。输出:[1,2,2,3,5,6]原创 2024-06-08 18:08:50 · 151 阅读 · 0 评论 -
4.每日LeetCode-数组类,斐波那契数(Go,Java,Python)
题号:509斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。F(n) = F(n - 1) + F(n - 2),其中 n > 1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。解释:F(3) = F(2) + F(1) = 1 + 1 = 2。解释:F(4) = F(3) + F(2) = 2 + 1 = 3。0 1 1 2 3 5 8 13 21 斐波那契数列。0 1 2 3 4 5 6 7 8 下标。给定 n ,请计算 F(n)。原创 2024-05-27 22:11:32 · 262 阅读 · 0 评论 -
3.每日LeetCode-数组类,爬楼梯(Go,Java,Python)
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。1. 1 阶 + 1 阶 + 1 阶。解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。原创 2024-05-25 19:24:54 · 296 阅读 · 0 评论 -
2.每日LeetCode-数组类,两数之和(Go,Java,Python)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。原创 2024-05-24 19:10:32 · 340 阅读 · 0 评论 -
1.每日LeetCode-时间复杂度和空间复杂度
算法复杂度算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。算法执行需要的时间,理论上只能通过上机来测试出来,但是我们不可能对所有的算法都来上机测试。我们只需要知道哪个算法用时比较多即可。一个算法花费的时间与算法中基本操作语句的执行次数成正比,哪个算法中语句执行次数多,哪个算法用时就长。而一个算法中语句执行的次数叫做语句频度,计作 T(n)。总结一下,就是说我们用 T(n) 来表示算法执行的时间。原创 2024-05-23 11:11:30 · 963 阅读 · 0 评论