摘要:
题目描述: 题解: 解法1:仿照双指针求解环形链表的问题,将链表A或者链表B构造成一个环,然后求环形链表的入口。 解法2: 创建两个指针 pApA 和 pBpB,分别初始化为链表 A 和 B 的头结点。然后让它们向后逐结点遍历。 当 pApA 到达链表的尾部时,将它重定位到链表 B 的头结点 (你没 阅读全文
摘要:
转自:https://www.jianshu.com/p/6e18d21a4cad #-*- coding:utf-8 -*- from __future__ import division import numpy as np import matplotlib.pyplot as plt imp 阅读全文
摘要:
题目描述: 峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。要求时间复杂度为log 阅读全文
摘要:
我们一般会拿偏度和峰度来看数据的分布形态,而且一般会跟正态分布做比较,我们把正态分布的偏度和峰度都看做零。如果我们在实操中,算到偏度峰度不为0,即表明变量存在左偏右偏,或者是高顶平顶这么一说。 偏度 偏度是数据的不对称程度。无论偏度值是 0、正数还是负数,都显示有关数据分布形状的信息。 图 A 图 阅读全文
摘要:
题目描述: 题解: 关键点:用栈记录回溯路径,用map标记节点是否已经在后序vector中。 1. 对于每个节点而言,首先判断是否能够继续迭代,无法继续迭代的话存下该节点值,从栈中取出该节点的父节点。 2. 能够继续迭代的情况下,先迭代左子树,再迭代右子树。 AC代码: class Solution 阅读全文
摘要:
题目描述: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 题解: O(n log n) 时间复杂度、O(1)的空间复杂度,自然想到的是归并排序。值得一提的是在找区间中点的时候,可以用快慢指针的方法一次遍历得到。 slow指针一次走一步,faster指针一次走两步。假设链 阅读全文
摘要:
题目描述: 题解:考察的点是图的遍历,要么DFS要么BFS。一开始一直在想怎么把无向图的边不遗漏的复制出来,想了一些比较复杂的方法。 看了一下别人的做法,其实只需要把无向边看做两条有向边,用一个map来映射每个node对应的copy_node。如果node存在对应的copy_node,说明这个节点 阅读全文
摘要:
1389 按既定顺序创建目标数组 略 1390 四因数 题目描述: 给定一个整数数组nums,返回该数组中恰有四个因数的这些整数的各因数之和。如果数组中不存在满足题意的整数,则返回 0 。 题解: 暴力枚举即可。注意枚举因数的时候sqrt()一下就行。 AC代码: vector<int> get(i 阅读全文
摘要:
题目描述: 题解:仿照最大连续子序列和的思路构造dp。dp_min[i]表示以nums[i]为结尾的子序列的最小乘积、dp_max[i]表示以nums[i]为结尾的子序列的最大乘积。 当nums[i] > 0的时候 dp_max[i] = max(nums[i],nums[i]*dp_max[i-1 阅读全文
摘要:
题目描述: 题解: 和139类似,dp[i]表示子串s[0:i]能够由词典里的单词组成。题目要求返回所有可能的句子,那么额外需要用一个辅助数组存储到位置i为止所有可能的句子。在求解之前先判断一下是否有解,不事先判断的话题目有一个样例会爆 内存。 AC代码: vector<string> wordBr 阅读全文