自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 代码随想录算法训练营Day 8 | 字符串 part 01

对于cpp,可以直接扩充原数组,如果从前往后填充,每次替换字母都要把所有在这之后的元素向后移动,如果从后往前填充就能避免这种问题。方法一:遍历拼接法,初始化一个空字符串用于存储结果,遍历输入字符串的每一个字符,如果是字母直接追加到结果字符串,如果是数字,追加“number”到结果字符串。在 Python 中,每个窗口大小为2k,统计共有多少个完整窗口和最后剩余的长度,对于每个窗口采用上一题反转字符串,对于剩余长度进行判断,少于k个字符全部反转,大于k个字符反转前k个字符。

2026-01-25 17:45:52 66

原创 代码随想录算法训练营第二天 | 数组

同时用一个下表di表示当前方向,每次移动,相当把行号增加DIRS[di][0],把列号增加DIRS[di][1]。使用左闭右开range(start, end),循环一圈后,正方形相当于缩小了一圈,所以 start += 1, end -= 1。,不难分析,该方法存在大量重复计算,比如计算起始位置为i的子数组和,并没有利用起始位置为i-1的子数组和结果,而是重新累加,但是实际上只要减去i-1位置的元素的值就可以了。思路和上一题是一样的,前缀和的思想,只是这道题目是二维,需要考虑横纵两个方向。

2026-01-25 15:56:25 658

原创 代码随想录算法训练营第六天 | 哈希表 part01

所以这道题目使用哈希法,记录每次sum的值,如果遇到重复值则return False,否则一直计算,知道sum为1,return True。哈希法牺牲了空间来换取时间,,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。进阶问题要求支持Unicode字符(比如中文、特殊符号、大写字母等),此时一个固定长度的数组无法满足,需要用通用哈希表实现,比如python中的dict。另外,如果哈希值比较少,特别分散、跨度非常大,使用数组就造成空间的极大浪费。暴力解法进行遍历,时间复杂度为。

2026-01-22 20:23:26 911

原创 代码随想录算法训练营第一天 | 二分查找、双指针

慢指针(slow)标记“新数组”的末尾位置,快指针(fast)遍历整个原数组,筛选出不等于目标值的元素,赋值给慢指针位置。首先想到的就是暴力解法,遍历数组,如果nums[i] == val 则把后面的每个元素向前移动一位,但时间复杂度为。首先,题目的前提是数组为有序数组,且数组中元素不重复,当一道题目描述满足如上条件时,可尝试用二分查找解决。数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。,左指针从数组头部开始,右指针从数组尾部开始。首先,想到的还是暴力解法,时间复杂度。

2026-01-14 23:56:22 39

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除