Description
输入一串字符,请实现 Solution
类的 compressString
函数,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
- 仅压缩连续重复出现的字符。
- 压缩字段的格式为”字符+字符重复的次数”。
- 若“压缩”后的字符串没有变短,则返回原先的字符串
class Solution:
def compressString(self, S: str) -> str:
输入一串字符,请实现 Solution
类的 compressString
函数,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
class Solution:
def compressString(self, S: str) -> str:
请实现 Solution
类的 removeDuplicates
函数,对输入的字符串,去除其中的字符 'b'
以及连续出现的 'a'
和 'c'
。
不允许使用类似 string.replace 函数。要求时间、空间复杂度尽量优化。A
class Solution:
def removeDuplicates(self, S: str) -> str:
给定不同面额的硬币 coins
和一个总金额 amount
,请实现 Solution
类的 coinChange
函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1
。
class Solution:
def coinChange(self, coins: List[int], amount: int) -> int:
给定不同面额的硬币 coins
和一个总金额 amount
,请你实现 Solution
类的 coinChange
函数,来计算有多少种不同的硬币组合方式可以凑成总金额。
class Solution:
def coinChange(self, coins, amount) -> int:
请实现 Solution
类的 findKthLargest
函数,在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
class Solution:
def findKthLargest(self, nums, k) -> int:
请实现 Solution
类的 mergeTwoLists
函数,合并两个升序链表为一个有序链表。
class Solution:
def mergeTwoLists(self, l1, l2):
给定一个数组代表股票每天的价格,请问只能买卖两次的情况下,最大化利润是多少?
请实现 Solution
类的 maxProfit
函数,输出最大利润。(不需要输出买卖的序列)
class Solution:
def maxProfit(self, prices) -> int:
给定一个数组代表股票每天的价格,请问只能买卖一次的情况下,最大化利润是多少?
请实现 Solution
类的 maxProfit
函数,输出最大利润。
class Solution:
def maxProfit(self, prices) -> int:
给定一个数组代表股票每天的价格,请问可以买卖多次的情况下,最大化利润是多少?
请实现 Solution
类的 maxProfit
函数,输出最大利润(不需要输出买卖序列)。
class Solution:
def maxProfit(self, prices) -> int:
给定 1 个二维字符数组 cmap
和 1 个单词 word
,请实现 Solution
类的 `` 函数,搜索 word
是否在 cmap
中。
搜索的定义是从 cmap
的任意位置开始,可以上下左右移动,依次和 word
每个字符匹配,如果 word
能匹配完,则存在,否则不存在。
注:cmap
中的每个位置只能被访问 1 次。
我们经常需要把存储int型整数转化为中文表示的数字,进行实际使用。
请完成 Solution
类的 digital2cn
函数,完成一亿(不含)以内的 int 整数到中文数字的转换。
class Solution:
def digital2cn(self, data):
给定一个一维数组用于描述一个海拔,相邻的海拔高度不同,则下雨后低洼海拔的洼地会有积水。
假设雨水足够,能够填满所有低洼地段,请实现 Solution
类的 maxArea
函数,计算下雨后所有低洼地段总蓄水量。
class Solution:
def maxArea(self, height):
给定字符串 s
和模式串 p
,请实现 Solution
类的 isMatch
函数,实现支持 '.'
和 '*'
的正则表达式匹配。
模式串中有两个特殊字符 '?'
和 '*'
,'?'
匹配任意1个字符,'*'
匹配任意多个字符。
class Solution:
def isMatch(self, s: str, p: str) -> bool:
给定一个正整数 n,请实现 Solution
类的 countDigitOne
函数,返回 0 到 n 之间出现的"1"的个数。
class Solution:
def countDigitOne(self, n):
给定一个单向链表,请实现 Solution
类的 hasCycle
函数,判断链表中是否有环。
要求:在空间复杂度 O(1) 的情况下,时间复杂度最小。
class Solution:
def hasCycle(self, head: ListNode) -> bool:
给定两个链表 L1、L2,每个元素是为 10 以内的正整数,整个链表表示一个数字,表头为高位。
请实现 Solution
类的 addTwoNumbers
方法,求两个链表之和,以链表形式返回。
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
给定一个只包含数字的字符串,请实现 Solution
类的 restoreIpAddresses
函数,复原它并返回所有可能的 IP 地址格式。
有效的 IP 地址(IPv4)正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。
class Solution:
def restoreIpAddresses(self, s: str):
定义:给定 N 个数,称出现次数最多的数为众数,若某数出现的次数大于 N/2 称为绝对众数。
如 A = [1, 2, 1, 3, 2]
中,1 和 2 都是众数,但都不是绝对众数。
如 A = [1, 2, 1, 3, 1]
中,1是绝对众数。
请实现 Solution
类的 majorityElement
函数,找出给定数组 nums
中的绝对众数。