自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使每位学生都有座位的最少移动次数

名学生,房间用一个数轴表示。请注意,初始时有可能有多个座位或者多位学生在。,并确保没有两位学生的座位相同。请你返回使所有学生都有座位坐的。

2023-12-13 09:23:22 17 1

原创 最长公共前缀

查找最长公共前缀,用mix 和 max 来比较最长的字符串和最短的字符串就行了。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。最后再切片[:i]就搞定了。

2023-12-11 15:45:18 132 1

原创 同构字符串0

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。[s.index(i) for i in s] 是一个列表推导式。查找字符第一次出现的位置,将结果存储在列表中。s.index(i) 它用于查找字符串中某个子字符串 i 第一次出现的位置,并返回其索引值。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。给定两个字符串 s 和 t ,判断它们是否是同构的。

2023-12-04 09:04:18 20

原创 赎金信。。

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。Counter() 用于计算可迭代对象中元素的频率。它返回一个字典,其中键是可迭代对象中的元素,值是对应元素的频率。magazine 中的每个字符只能在 ransomNote 中使用一次。(a & b) == a 判断 a 是否包含在 b 中。如果可以,返回 true;否则返回 false。

2023-12-03 19:48:31 14 1

原创 删除有序数组中的重复项

个元素包含唯一元素,并按照它们最初在。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。两个指针,一前一后。先上代码,楼下细嗦。

2023-12-03 17:27:17 82 1

原创 移除元素。

双指针,设定一个慢的指针b,一个快的指针a。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。慢指针:指向更新 新数组下标的位置。

2023-12-03 16:37:57 13 1

原创 合并两个有序数组

所以,我们总共需要创建三个指针,两个指针用于指向 ums1 和 nums2 的初始化元素数量的末位,也就是分别指向 m−1 和 n−1 的位置,还有一个指针,我们指向 nums1 数组末位即可。原地修改时,为了避免从前往后遍历导致原有数组元素被破坏掉,我们要选择从后往前遍历!最终,合并后数组不应由函数返回,而是存储在数组。,将空间复杂度降低到 O(1)。个元素表示应合并的元素,后。中,使合并后的数组同样按。

2023-11-28 10:00:59 15

原创 只出现一次的数字

除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。异或运算中,满足交换律和结合律,也就是 a ⊕ b ⊕ a = b ⊕ a ⊕ a = b ⊕ ( a ⊕ a) = b ⊕ 0 = b。任何数和 0 做异或运算,结果还是自己,即 a ⊕ 0 = a。任何数和自己做异或运算,结果为 0,即 a ⊕ a = 0。先上代码,楼下细嗦。

2023-11-24 14:26:27 14 1

原创 搜索插入位置

写法为 mid = left + (right - left)//2 ,这样写的好处也非常简单,就是为了防止大数溢出,因为写成(left + right)//2时,当数比较大时,left + right是。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。这样写循环控制的另外一个好处就是在退出循环时, 必然满足 left == right,这样在最后的返回值就可以。二分法解决,先上代码,楼下细嗦。的风险的,这种写法就可以避免了。

2023-11-23 09:42:49 15

原创 两数之和 求解

我们遍历到数字 a 时,用 target 减去 a,就会得到 b,若 b 存在于哈希表中,我们就可以直接返回结果了。若 b 不存在,那么我们需要将 a 存入哈希表,好让后续遍历的数字使用。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因此采取空间换时间策略,用hash表来对遍历的数组进行存储。按照以往思维,对两个list 一个一个遍历相加,时间复杂度。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2023-11-22 10:04:03 13

原创 交替合并字符串

请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。zip_longest() 是itertools的一个函数,是zip() 函数的升级版。如果列表a和b的长度不一样,就会在缺少元素的位置使用默认填充值None。fillvalue=' ' fillvalue是zip_longest函数的一个参数,是用于填充缺失位置的值。''.join() 表示 将一个空的字符串作为连接符,将序列中的每个字符串连接起来,生成一个新的字符串。

2023-11-20 17:32:59 30 1

空空如也

空空如也

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

TA关注的人

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