- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 堆排序
class Solution {public: int findKthLargest(vector<int>& nums, int k) { int n = nums.size(); for(int i = (n-1-1) / 2; i >= 0; i--) { adjustHeap(nums, i, n); } for(int i = 0; i < k; i++) {
2020-08-30 22:49:54 193
原创 机试
#2大意,通过矩形区域(m,n),区域是由0和1组成,0代表不能踩,1代表可以踩。从起点(0,0)->(m,n)。#include <iostream>#include <vector>#include <cassert>using namespace std;//华为8月12机试class Solution{private: int m, n; int d[2][2] = {{2, 0}, {0, 2}};//方向控制,2分别代
2020-08-15 19:09:18 398
原创 华为机试(8.12)
#3题目大意:给定一个字符串(好像全是大写字母)和一个奇数(数列数),然后将其列输出。eg1: PRIDEANDPREJUDICE 3输出为:PDNRUCIAPJIREDEDEeg2: PDNRUCIAPJIREDEDE 5输出为:PAECIDUERIDPDRNJE//直接先将字符按顺序存入二维数组,后面按规律再读出来#include <iostream>#include <string>#include <vector>using namespa
2020-08-14 15:51:17 409
原创 线性代数笔记
1.子空间假设V是一个向量空间,如果S是V的子集,且S对加法和数量乘法封闭,则称S是V的一个子空间。对于向量空间,一定注意:1)是否包含O2)对于空间中任意向量u,是否有u + (-u) = O例如:在3维空间中,对于不过原点的平面,不是其子空间起点在原点的射线也不是其子空间V的任何子空间都一定包含O(零空间)。2.维度一个空间的基中,向量的个数注意:不能简单的通过基中元素...
2019-12-30 20:56:59 404
原创 python中super()方法
在类的继承关系中,对于子类,我们希望可以直接调用父类的__init__()来初始化父类中定义的属性。super()可以用来获取当前类的父类,并且在通过super()返回对象调用方法时,不需要传递self。class Person: def __init__(self, name): self._name = name ...
2019-12-23 21:42:52 274
原创 Python列表作为参数
在将列表作为参数传递给函数的时候,实际上是传递的引用。def ref(someParameter): someParameter.append(99)singers = ['坂井泉水', '泰勒斯威夫特', '阿黛尔']ref(singers)print(singers)##############################结果:['坂井泉水', '泰勒斯威夫特',...
2019-12-21 22:23:53 1273
原创 Python中*args、**kwargs参数
在不确定函数参数的时候,可以使用*args 和 kwargs。*args在不知道需要传入多少参数,或者说需要向函数中传入的参数形式是列表或元组;而kwargs参数是字典类型,即key-val。def fun_args(*args): print(type(args), args) for var in args: print('another var : ',...
2019-12-19 17:16:06 149
原创 c++之isxx库函数
isalnum(char c)函数,判断字符是否是数字或者字母,返回非零(true)、零(false)。参考link该函数在leetcode125 判断回文串的时候特别好用,具体如下,感谢哥们的题解:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a can...
2019-11-14 22:30:06 899
原创 LeetCode322 零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可以认为每...
2019-11-12 14:18:58 125
原创 LeetCode50 Pow(x, n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有...
2019-11-08 16:20:34 123
原创 LeetCode739 每日温度
根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的...
2019-11-07 16:53:49 158
原创 LeetCode1 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solut...
2019-11-06 21:11:38 669
原创 LeetCode239 滑动窗口的最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 ...
2019-11-06 20:45:31 138
原创 LeetCode260 只出现一次的数字2
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?//位运算class Solution {public: v...
2019-11-06 15:40:46 142
原创 LeetCode300 最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?class Solut...
2019-11-04 10:36:10 177 1
原创 0-1背包问题
问题:假设有一个容量为C的背包和n中不同的物品,每件物品重量为w(i)、价值v(i);现要在不超过背包容量的基础上,使得物品的总价值最大。==状态F(n,C):==考虑将n个物品放进容量为C的背包,使得价值最大。对第i件物品:***F(i,c) = max( F(i-1, c), v(i) + F(i-1, c-w[i]) )***本例中w = {1, 2, 3},对应v = {6, 10...
2019-11-03 22:37:26 320
原创 LeetCode64 最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。//空间复杂度:O(1)class Solution {public: int minPathSum(v...
2019-11-03 16:39:27 210 1
原创 LeetCode120 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。//动态规化class Solution...
2019-11-03 15:57:34 117
原创 LeetCode70 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶...
2019-11-03 09:53:34 224 1
原创 LeetCode53 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。class Solution {public: int maxS...
2019-11-02 09:42:43 117
原创 LeetCode121 买卖股票最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是...
2019-11-02 09:19:16 118
原创 LeetCode236 二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6...
2019-10-31 15:56:43 95
原创 LeetCode235 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2...
2019-10-31 09:27:23 119
原创 LeetCod96 不同的二叉搜索树
给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树.//动态规划class Solution {public: int numTrees(int n) { vector<int> dp(n+1, 0); ...
2019-10-30 20:43:25 122
原创 LeetCode654 最大二叉树
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :输入:[3,2,1,6,0,5]输出:返回下面这棵树的根节点: 6/ \3 5\ /2 ...
2019-10-30 19:23:48 244
原创 LeetCode114 二叉树展开为链表
题目:link/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };...
2019-10-30 16:16:55 122
原创 LeetCode105 从前序与中序遍历序列构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ 9 20/ 15 7/** * Definition for a binary tree node. * struct TreeNode...
2019-10-30 11:15:15 121
原创 LeetCode高频题目
字符串3 无重复字符的最长字串(medium 高)5 最长回文子串(medium 高)22 括号生成(medium 高)13 罗马数字转整数(easy 高)6 Z字形变换(medium 高)38 报数(easy 高)17 电话号码的字母组合(medium 高)10 正则表达式匹配(hard 高)20 有效的括号(easy 高)72 编辑距离(hard 高)12 整数转罗马数字...
2019-10-29 20:59:22 2073
原创 LeetCode102 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/ 2 2/ \ / 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/ 2 2\ 3 3说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。/** * Definition for a b...
2019-10-29 20:58:53 117
原创 LeetCode108 将有序数组转换为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \-3 9/ /-10 5/** * Definiti...
2019-10-29 20:24:56 112
原创 LeetCode104 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。/** * Definition for a binary tree node. * struct TreeNode {...
2019-10-29 16:40:36 220
原创 LeetCode617 合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入:Tree 1 Tree 21 2/ \ ...
2019-10-29 16:21:21 112
原创 LeetCode226 翻转二叉树
翻转一棵二叉树。示例:输入:4/ 2 7/ \ / 1 3 6 9输出:4/ 7 2/ \ / 9 6 3 1/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...
2019-10-29 10:36:14 91
原创 LeetCode25 K 个一组翻转链表
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->...
2019-10-28 21:01:51 111
原创 LeetCode86分隔链表
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5/** * Definition for singly-linked...
2019-10-28 19:47:17 173
原创 虚函数多态
虚函数访问知识点《王道程序员求职宝典》p1631)与普通函数一样,虚函数可通过对象名来调用,此时编译器采用静态联编。通过对象名访问虚函数时,调用哪个类的函数取决于定义对象名的类型。对象是基类就调基类,对象是子类就调相应的子类。2)使用指针访问非虚函数时,编译器会根据指针本身的类型决定调用哪个函数,而不是根据指针指向的对象类型。与指针类型有关3)使用指针访问虚函数时,编译器根据指针所指对象的类...
2019-10-28 16:57:59 225
Python for Data Analysis
2019-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人