【华为OD机试题】字符串消消乐

全栈小5 全栈小5 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

题目

字符串消消乐。相邻且相同的字符串可以消除,消除后字符继续消除,给你一串字符,给出最终的长度。字符串大小写敏感,有其他非字母字符返回0。
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。
之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。

考擦知识点

主要考察的是递归算法

解题思路

使用递归算法,替换函数

实现代码

#!/usr/bin/python3
# -*- coding: utf-8 -*-

# 定义一个方法
def clearSameStr(str):
    # 遍历字符移除相邻相同字符
    temp=''
    newStr=str
    for char in str:
        if char==temp:
            newStr=newStr.replace(temp+char,'')
            temp=''
            clearSameStr(newStr)
        else:
            temp=char
    
    # 判断新字符串是否还有相邻相同字母
    temp=''
    is_same=False
    for char in str:
        if char==temp:
            is_same=True
            break
        else:
            temp=char

    if is_same:
        return clearSameStr(newStr)
    else:
        return newStr

target_str='abbaca'
out_str=clearSameStr(target_str)
print(f'{out_str}')

img

...全文

相关推荐

华为OD和力扣刷题记录库

前端写算法使用编程语言是 JavaScript 或者 TypeScript,我个人更倾向于推荐使用 TypeScript。 当然你可以先写一遍 JavaScript,再尝试着转换为 TypeScript。 为什么呢?以前是个人的一些见解 TypeScript 能帮助 JavaScript 开发者去适应静态数据类型的检查,避免数据类型使用不当导致程序出错 TypeScript 静态数据类型能方便编辑器提示对应数据类型的 API 调用 学习灵活使用 TypeScript,TypeScript 已经是前端主流的开发语言 代码转换为其他类型的编程语言时也非常方便 数据结构与算法知识点 数据结构 链表 栈 队列 二叉树 图 算法

阿尔法星球

华为OD机试题 - 字母消消乐(JavaScript)

字母消消乐 题目 游戏规则: 输入一个只包含英文字母的字符串, 字符串中的两个字母如果相邻且相同,就可以消除。 在字符串上反复执行消除的动作, 直到无法继续消除为止,此时游戏结束。 输出最终得到的字符串长度。 输入 输入原始字符串str 只能包含大小写英文字母,字母的大小写敏感, str长度不超过100

梦想橡皮擦

【华为OD机试真题 Python】消消乐游戏

游戏规则: 输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。 在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。 输出最终得到的字符串长度。

steven_moda

【新2023Q2押题JAVA】华为OD机试 - 字母消消乐

本篇题解:字母消消乐 题目 游戏规则: 输入一个只包含英文字母的字符串, 字符串中的两个字母如果相邻且相同,就可以消除。 在字符串上反复执行消除的动作, 直到无法继续消除为止,此时游戏结束。 输出最终得到的字符串长度。

梦想橡皮擦

华为OD机试Golang解题 - 字母消消乐

如果想要在华为od机试中获取高分,一定要不要完全背诵代码,需要理解之后模仿写出,分数才会高。字符串中的两个字母如果相邻且相同,就可以消除。只能包含大小写英文字母,字母的大小写敏感,此时没有相同且相邻的字符 无法继续消除。直到无法继续消除为止,此时游戏结束。输出游戏结束后,最终得到的字符串长度。输入一个只包含英文字母的字符串,👍 阅读完毕,可以点点小手赞一下。在字符串上反复执行消除的动作,可以直接消除,得到空串,长度为。输入中包含非大小写英文字母时。输出最终得到的字符串长度。

梦想橡皮擦
评论
收藏 已收藏
分享
返回顶部
全栈小5
全栈小5 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
基础知识小馆 574 成员 90 内容