LetCode算法

删除最外层的括号【1021】

题目:

有效括号字符串为空("")、"(" + A + ")"或A + B,其中A 和B都是有效的括号字符串,+代表字符串的连接。例如,"","()","(())()"和"(()(()))"都是有效的括号字符串。

如果有效字符串S非空,且不存在将其拆分为S = A+B的方法,我们称其为原语(primitive),其中A 和B都是非空有效括号字符串。

给出一个非空有效字符串S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + ... + P_k,其中P_i是有效括号字符串原语。

对S进行原语化分解,删除分解中每个原语字符串的最外层括号,返回 S。

解题思路:

1.搞清题目:

     *        1.有效括号字符串是括号()是成对出现的。或者没有

    *          2.原语是指 不能拆分A+B的有效括号字符串,这里的A,B也指的是有效括号字符串

    *          3.把一个有效括号字符串分解成原语,把原语字符串最外层括号去掉

 2.思路:

    *          计数判断标志位的方式,左括号自加,右括号自减进行匹配,

    *          如果标示为1,表示原语的开始"(",标示位为0,表示此原语的结束")"

    *          去掉原语的开始部分和结束部分

代码:

实现方式

飞地数量【1020】

题目:

给出一个二维数组A,每个单元格为 0(代表海)或 1(代表陆地)。

移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。

返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。

解题思路:

1.循环四个边界(第一行,第一列,最后一行,最后一列,)把边界是1,和关联为1的数组值都改成0

 2. 循环数组把值为1找出来 

代码:

实现方案
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 10,696评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,356评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,737评论 0 5
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,264评论 0 38
  • 孩子就是孩子,玩是孩子的天性,疯玩会让孩子更开心!!!不能因为害怕什么而对孩子作规定进行束缚……好多孩子内心缺乏安...
    薛敏3116阅读 328评论 0 0

友情链接更多精彩内容