logo头像

不忘初心,奋力前行

回溯法

回溯法回溯法的思想是:能进则进,进不了换,换不了退。隐约束指对能否得到问题的可行解和最优解做出的约束。隐约束包括约束函数和限界函数。关键步骤是: 定义解空间; 确定解空间的组织结构(子集树、排列数、m叉树等); 搜索解空间。 回溯...

《剑指Offer》题目解析(12)

题目1 序列化二叉树题目描述请实现两个函数,分别用来序列化和反序列化二叉树 题目解析序列化二叉树可以使用前序遍历来进行,这样的话响应的反序列化在根节点的数值读出来的时候就可以开始了。如果二叉树读的时候遇到NULL,就输出一个“\\$ ...

《剑指Offer》题目解析(11)

题目4 和为S的两个数字题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 题目解析我们知道,两个数字,距离越远,乘积越小,距离越近乘积越大。所以我...

《剑指Offer》题目解析(10)

题目1 二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 题目解析如果一棵树只有一个结点,那么深度为1.如果根节点只有左子树而没有右子树,那么...

《剑指Offer》题目解析(9)

《剑指Offer》题目解析(9)

题目6 第一次只出现一次的字符题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。 题目解析只要这种问题,就可以想到...

《剑指Offer》题目解析(8)

题目1 数组中出现次数超过一半的数字题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。...

腾讯C++后台一面面经(基本凉凉~)

今天在健身的时候,正跑着步,气喘吁吁的,突然接到了来自腾讯的电话,就知道是面试。腾讯已经在实习生招聘捞了我两个星期了,这次终于捞起了我。 不过终于体会到跑步大脑缺氧的感觉了,真的是问题都很熟悉,但是都没答上来,所以肯定就挂了。 因为...