字符串相关算法操作

编程入门 行业动态 更新时间:2024-10-08 07:28:49

<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串相关算法操作"/>

字符串相关算法操作

# 函数1: 计算一个数组中除了自身以外所有元素的乘积  
def product_except_self_1(array):  if not array:  # 如果数组为空,返回None  return None  length = len(array)  # 初始化三个列表: 答案列表(ans)、左侧乘积列表(Lp)、右侧乘积列表(Rp)  ans, Lp, Rp = [0] * length, [0] * length, [0] * length  # 设置Lp和Rp的第一个和最后一个元素为1  Lp[0], Rp[length - 1] = 1, 1  # 计算每个元素左侧的乘积  for i in range(1, length):  Lp[i] = array[i] * Lp[i-1]  # 计算每个元素右侧的乘积  for j in reversed(range(length - 1)):  Rp[j] = Rp[j + 1] * array[j + 1]  # 计算除了每个元素自身的乘积  for i in range(length):  ans[i] = Lp[i] * Rp[i]  return ans  # 函数2: 另一种计算一个数组中除了自身以外所有元素的乘积的方法  
def product_except_self_2(array):  if not array:  # 如果数组为空,返回None  return None  length = len(array)  # 初始化答案列表  ans = [0] * length  ans[0] = 1  # 计算每个元素左侧的乘积  for i in range(1, length):  ans[i] = array[i - 1] * ans[i - 1]  # 计算每个元素右侧的乘积,并与左侧的乘积相乘  R = 1  for j in reversed(range(length)):  ans[j] = R * ans[j]  R = R * ans[j]  return ans  # 函数3: 检查数组中是否存在三个递增的数
def third_inc(array):  if not array:  # 如果数组为空,返回None  return None  first, second = array[0], float['inf']  # 初始化两个变量来跟踪最大的两个元素  # 遍历数组中的每个元素  for ele in array:  if ele > second:  # 如果找到一个元素大于当前的最大元素,返回True  return True  if ele > first:  # 如果找到一个元素大于当前的第二大元素,更新最大元素和第二大元素  second = ele  else:  # 否则,更新第二大元素  first = ele  return False  # 如果没有找到符合条件的元素,返回False  # 函数4: 压缩连续字符的数组表示形式  
def suppress_char(array):  if not array:  # 如果数组为空,返回None  return None  result = []  # 初始化结果列表  temp = None  # 初始化临时变量来跟踪当前字符  num = 0  # 初始化计数器来跟踪连续字符的数量  # 遍历数组中的每个字符  for w in array:  if temp is None:  # 如果临时变量为空,添加字符到结果列表,并更新临时变量和计数器  result.append(w)  temp = w  num += 1  elif temp != w:  # 如果临时变量与当前字符不同,检查计数器的值,并添加字符到结果列表  if num != 1:  result.append(str(num))  result.append(w)  else:  # 如果临时变量与当前字符相同,增加计数器的值  num += 1  return result

水平有限,有问题随时联系~

更多推荐

字符串相关算法操作

本文发布于:2023-11-15 17:49:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1603687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   算法   操作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!