阿里,百度,字节跳动面试同时考了它,你需要的题解来了

递归作为基础中的基础,可以说99.99999%的算法面试中会考到,如果因为递归问题挂掉面试,那就真真真真真的太可惜了。

既然递归面试命中率这么高,那努力刷题就万事大吉?
NO!

递归虽然基础,但对初学者极度不友好,算法界流传着这样一句话:

To iterate is human, to recurse, divine.
人理解迭代,神理解递归。

今天我们来一起看一道Google, Uber,Zenefits都考过的真题吧~

【LintCode 427:生成括号】
描述

给定 n,表示有 n 对括号, 请写一个函数以将其生成所有的括号组合,并返回组合结果。

样例

样例 1
输入: 3
输出: ["((()))", “(()())”, “(())()”, “()(())”, “()()()”]
复制代码

样例 2
输入: 2
输出: ["()()", “(())”]

参考答案
回溯. 逐个字符添加, 生成每一种组合.
一个状态需要记录的有: 当前字符串本身, 左括号数量, 右括号数量。递归过程中解决:

  • 如果当前右括号数量等于括号对数 n, 那么当前字符串即是一种组合, 放入解中.

  • 如果当前左括号数量等于括号对数 n, 那么当前字符串后续填充满右括号, 即是一种组合.

  • 如果当前左括号数量未超过 n:

  • 如果左括号多于右括号, 那么此时可以添加一个左括号或右括号, 递归进入下一层

  • 如果左括号不多于右括号, 那么此时只能添加一个左括号, 递归进入下一层
    在这里插入图片描述

此为Python解法,Java,C++解法请见Lintcode
想要更好地掌握这个知识点,欢迎报名免费试听《递归四讲》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/68892.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试官教你做人:字节跳动在招2000人,招聘要求让人窒息……

又双叒叕看见字节跳动的招聘信息啦,这次又是大动作,薪资待遇没的说!!! 打工人,打工魂,打工都是人上人! 作为打工人,我们生活的盼头不过就是到手的红票子,卡里…

巨头间的战争,我眼中的的“淘宝为什么屏蔽百度抓取”

来自http://news.paidai.com/12967 作者:芜湖SEO舒扬 1.现状和思考 现在,如果在百度里搜索淘宝网,您所看到的结果应该是这样的,“由于该网站的robots.txt文件存在限制指令,系统无法提供该页面的内容描述”这种情况只…

2023最新淘宝店铺宝贝PC电脑端隐藏屏蔽技术代码

前言:近日淘宝大面积封锁隐藏屏蔽代码,之前发布的老技术大家就不要尝试了,已经失效了,我们经过不懈努力终于研究出可以代替之前旧版屏蔽技术,此技术截止目前为止是唯一可行的方法。隐藏效果很完美,和之前的…

国产游戏引擎,竟然用来搞民航

萧箫 金磊 发自 凹非寺量子位 | 公众号 QbitAI 只是给飞行员做个“装备”,竟然突破了国内民用航空领域的一大技术难题?! 这是一群游戏技术开发者的真实经历。 他们用自研游戏引擎开发了一个飞行模拟软件,能够第一视角模拟飞行员起…

足球俱乐部介绍——拜仁慕尼黑

拜仁慕尼黑足球俱乐部,简称拜仁慕尼黑或拜仁,是一家设于巴伐利亚州首府慕尼黑的德国体育俱乐部,其最著名的是参加德国足球甲级联赛的职业足球队,曾创纪录的赢得26次德国足球顶级联赛冠军及17次德国杯冠军,为德国最成功…

足球俱乐部介绍——多特蒙德

多特蒙德足球俱乐部(Borussia Dortmund)是一家位于德国北莱茵-威斯特法伦(北威)州多特蒙德市的足球俱乐部,绰号"大黄蜂"。二战后崛起的多特蒙德和同处北威州鲁尔工业区(鲁尔区)的沙尔克04之间的比赛因紧邻的地理位置、相同的工人阶层文化而火爆异常 &…

球员分析-前锋

1、球员位置 1.1柱式中锋 球员:吉鲁、奥斯梅恩、米特罗维奇 1.2防守型前锋 球员:劳塔罗、瓦尔迪、维尔纳 1.3抢点前锋 球员:伊卡尔迪、曼联c罗、因扎吉 1.4组织型前锋 球员:凯恩、本泽马、迪巴拉 2、战术职责 2.1柱式中锋&#xf…

满分作文生成器网页版

链接: https://beautyyu.one/full-mark-composition-generator/ 选择六学 生成“满分作文” 还可以设置更多,添加名人名言。

写文章的软件-一款写作文章的软件

写文章的软件 写文章的软件是一种工具,可以帮助用户轻松快速地创作高质量的文章。该软件一般包括以下几个主要功能: 写作界面:提供简洁、美观的写作界面,让用户专注于文章创作,同时可以进行排版、字体、颜色等调整。 …

3ds max照片级效果图渲染设置分享

作为设计师,在客户出方案的时候,需要通过软件把自己的想法和设计理念传达给客户,给到客户最直观的感觉和视觉体验。这个时候好的效果图就尤为重要了,高质量的效果图可以给你的方案加分,反之低质量的效果图可能会对你的…

Unity HDRP Volume框架 — Rendering(渲染)

HDRP配置文件参数相关介绍 (Rendering 渲染) 1、Color Buffer Format(颜色缓存格式)2、Lit Shader Mode(Lit着色器模式)3、Motion Vector(运动矢量)4、Runtime Debug Display&#x…

【教你两招!】弄懂3DMAX如何渲染通道图像

3DMAX怎么渲染通道图? 在3dmax中有多种意义的通道,一般我们说的通道主要是应用在图像的后期处理中,可以减少重复渲染的工作量,提高图像的品质。在3dmax中如何渲染通道图像?这里,沐风老师为大家准备了两种通…

3dmax2020通道图怎么渲染

在使用渲染100(邀请码1a12)渲染效果图的时候为了方便后期处理我们会添加很多元素通道图,比如灯光通道、反射通道、折射通道等等,如下所示。但有时候我们添加了这么多元素通道图最终却没有渲出来,这是为什么呢&#xff…

效果图如何做出插画风格?SketchUp 插画风效果图渲染技巧

个优秀的课设会用到哪些风格化效果?如何能更快更好的掌握这些渲图技巧? 我们将通过一条10分钟的视频,教会你如何制作风效果图3种渲图技巧为你的课设加分。 演示使用的模型场景都来自D5论坛场景列车,大家可以下载下来再自行研究和…

Unity学习2:如何实现个性化渲染平面(图文详细)

Unity学习2:如何实现个性化渲染平面(图文详细) AR Plane Manager(平面追踪对象管理器)可视化平面个性化渲染平面 AR Plane Manager(平面追踪对象管理器) 平面管理器是一种可跟踪的管理器。 平面管理器为环境中每个检测到的平面创建游戏对象…

Unity HDRP卡通角色自然渲染shader

对于在HDRP工程中,虽然已经提供了较好的光照,但二次元的角色直接渲染会显得有点不自然。 本文参考UnityChan在HDRP工程的渲染,修改了SSS文件的参数,使得其更为自然。 图一中脸部阴影有些硬,图二人物的整体色调较为和谐…

3D图形渲染管线

对图形渲染管线的各个阶段到底做了些什么,总是不甚清楚,每次翻书查阅,但是过了一阵遇到还是翻书,这次看Cg教程里写的不错,特地摘下来,以备查阅。 -by shenzi/2010.3.25 3D图形渲染管线 什么是渲染&…

vray 用于室内渲染的10大技巧,看进来!

室内设计是建筑可视化艺术家最鼓舞人心的行业之一。我们不断发现令人难以置信的设计方案和超逼真的 CG 图像,即使是最敏锐的眼睛也会受到欺骗。 vray 用于室内渲染的10大技巧之:寻找参考资料 总是在一开始就寻找参考资料。一旦我们有了项目简介并且在打开…

UE4渲染的整体流程(可视性、GBuffer、反射、动态光照阴影、后期处理)

个人博客完整原文:https://alvincr.com/2021/02/ue4-1-rendering/ 评价渲染工具的好坏参考:渲染质量、渲染功能及性能。 1 整体流程 AlvinCR认为渲染并不是一个具体步骤,而是与其相关的多个流程。 与渲染有关的一切都是使用r.rendering函…

Unity照片墙插件UnityUGUIPhotoWall

UnityUGUIPhotoWall一款结合DoTween做的照片墙效果插件 效果如下: 使用示例: using DG.Tweening; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class MyTest : MonoBehaviour {public RectTransform prefab;in…