模拟

July 29, 2021

1104. 二叉树寻路

1104. 二叉树寻路 思路: 本题有两种解法,第一种是模拟第二种是用数学的方法,首先要考虑的是若一个二叉树没有奇偶性质,那么他的父节点一定是 当前节点/2;因此,在得知某一层的最大值和最小值后,我们便可以由计算或模拟来得到其父节点: 利用从根节点到任意一层都是满二叉树,我们可以先确定 label 所在的层级 level,然后计算出当前层起始节点值(最小值)和结束节点值(最大值)。再利用「每层节点数量翻倍」&「隔层奇偶性翻转」,寻址出上一层的节点下标(令每层下标均「从左往右」计算,并从 11 开始),直到构造出答案(寻址到根节点)。...

Read More
July 18, 2021

面试题 10.02. 变位词组

面试题 10.02. 变位词组 编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。 首先是法1:哈希+排序 法2:模拟 + 计数 由于限定了26个小写字母,所以可以用数组来模拟单词注意cnts[c-'a']是转换为ascii的办法 class Solution...

Read More