自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ai-july

精益求精

  • 博客(31)
  • 收藏
  • 关注

原创 leetcode381--O(1)时间插入 删除和查找-允许重复

目录正文一 题目描述二 解题思路三 具体代码正文一 题目描述设计一个支持在平均时间复杂度O(1)下,执行以下操作的数据结构。注意: 允许出现重复元素。 insert(val):向集合中插入元素 val。 remove(val):当 val 存在时,从集合中移除一个 val。 getRandom:从现有集合中随机获取一个元素。每个元素...

2019-04-20 00:55:31 829

转载 C++ STL各标准容器使用手册

原文:http://blog.csdn.net/nohackcc/article/details/89000171 vector内部实现: 数组 // 就是没有固定大小的数组,vector直接翻译是向量的意思支持操作:begin(), //取首个元素,返回一个iteratorend(), //取末尾(最后一个元素的下一个存储空间的地址)size(), //就是数组大小的意思clea...

2019-04-19 23:56:08 703

原创 C++ map使用的注意事项

C++ map注意事项1、在map中,由key查找value时,首先要判断map中是否包含key。 如果不检查,直接返回map[key],可能会出现不易发现的问题。如果map包含key,没有问题,如果map不包含key,就会在map中插入一个key的元素,value取默认值(0),返回value。也就是说,map[key]不可能返回null。2、map提供了两种方式,查看是否包含...

2019-04-19 13:09:07 669

转载 二十分钟搞定时间复杂度(数据结构)

我们假设计算机运行一行基础代码需要执行一次运算。int aFunc(void) { printf("Hello, World!\n"); // 需要执行 1 次 return 0; // 需要执行 1 次}那么上面这个方法需要执行 2 次运算int aFunc(int n) { for(int i = 0; i<n; i++...

2019-04-19 12:09:25 177

原创 leetcode--454 四数相加 哈希表

给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组 (i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过231 - 1 。例如:输入:A = [ 1...

2019-04-19 11:08:21 236

原创 leetcode347--前k个高频元素

给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(n log n) ,n是...

2019-04-19 00:29:57 136

原创 leetcode--227 基本计算器II 数据栈 符号栈

实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格。 整数除法仅保留整数部分。示例1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: 1示例 3:输入: " 3+5 / 2 "输出: 5说明:你可以假设所给定的表达式都是有效的。 请不要使用内置的库...

2019-04-19 00:19:17 310

转载 C++ STL deque

STL dequeSTL deque支持随机访问和快速插入删除,是一种容器类函数。中文名:支持随机访问和快速插入删除 英文名: STL deque类型容器类函数目录1 说明 2 构造 3 方法 说明#include <deque>deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一...

2019-04-18 12:32:24 196

原创 leetcode295--数据流中的中位数 优先队列的实现

中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4]的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。示例:ad...

2019-04-17 22:01:51 408

原创 leetcode--21 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4//合并两个有序链表ListNode* mergeTwoLists(ListNode* headA, ListNode* headB){...

2019-04-14 12:49:02 112

原创 leetcode-141 环形链表

给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2:输入:head = [1,2], pos =...

2019-04-12 22:07:36 140

原创 leetcode148--排序链表

在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5思路:归并排序/*** Definition for s...

2019-04-12 20:07:26 108

原创 leetcode147--链表的插入排序

对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插...

2019-04-12 00:17:48 256

原创 机器学习算法梳理第三篇--XGB

目录一. 算法原理二. 分裂节点算法三. 正则化四. 对缺失值处理五. 优缺点六. 应用场景七. sklearn参数一. 算法原理在数据建模中,当我们有数个连续值特征时,Boosting分类器是最常用的非线性分类器方法将成百上千个准确率较低的模型组合起来,成为一个准确率较高的模型,这个模型会不断的迭代,每次迭代就会产生一颗新的树,然而当数据集比较大比较复杂...

2019-04-10 21:46:01 616

原创 统计学基础知识梳理(四)

线性回归在坐标上分布很多点,这些点可以通过y=mx+b的直线进行近似模拟,如图。最合适的线性回归线(Best fitting regression)就是Error的方差最小,即Square error to the line: SEline最小。我们需要找寻SEline最小时m和b的值,即find the m & b that minimizes SEline。线性回归公式推导...

2019-04-09 23:09:52 1342

原创 数据结构(三)栈

#pragma once#include <iostream>#include <stdio.h>#include <time.h>#include <vector>#include <algorithm>#include <string>#include <math.h>#include &lt...

2019-04-08 21:46:10 188

原创 数据结构(二)队列

#pragma once#include <iostream>#include <stdio.h>#include <time.h>#include <vector>#include <algorithm>#include <string>#include <math.h>#include &lt...

2019-04-08 21:42:06 138

原创 数据结构(一) 链表

#pragma once#include <iostream>#include <stdio.h>#include <time.h>#include <vector>#include <algorithm>#include <string>#include <math.h>#include &lt...

2019-04-08 21:37:32 233

原创 统计学基础知识梳理(三)

假设检验定义假设检验是用来判断样本与样本,样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。其基本原理是先对总体的特征作出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受作出推断。假设检验与区间估计都是根据样本信息推断总体分布。两者可以相互装转换唯一的区别是参数知不知道...

2019-04-07 21:58:05 6853

原创 机器学习算法梳理第二篇--GBDT

简介: GBDT是Gradient Boosting Decision Tree,梯度提升决策树,首先gbdt 是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或者回归的算法。gbdt的训练过程 我们通过一张图片说明gbdt的训练过程: 解...

2019-04-07 20:56:00 582

原创 leetcode70-爬楼梯 动态规划

题目描述:假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1...

2019-04-06 21:23:25 3185

转载 统计学基础知识梳理(二)

1.什么是中心极限定理有时候统计概率就像魔术一样,能够从少量数据中得出不可思议的强大结论。我们只需要对1000个美国人进行电话调查,就能去预测美国总统大选的得票数。通过对为肯德基提供鸡肉的加工厂生产的100块鸡肉进行病毒(沙门氏菌)检测,就能得出这家工厂的所有肉类产品是否安全的结论。这些“一概而论”的强大能力,到底是从哪里来的?中心极限定理是许多统计活动的“动力源泉”,这些活动存在...

2019-04-05 21:50:31 793

原创 leetcode--17 电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].思路:回溯法具体代码:string gloLetterArr = "abcdefghijklmn...

2019-04-05 17:00:09 269

原创 统计学基础知识梳理(一)

1 样本与总体的定义: N是总体元素个数,n是样本元素个数样本均值 Sample mean 总体均值 Population mean 2 总体方差:离中趋势...

2019-04-05 00:02:36 1281

原创 统计学基础知识梳理(一)

1 样本与总体的定义: N是总体元素个数,n是样本元素个数样本均值 Sample mean 总体均值 Population mean 2 总体方差:离中趋势...

2019-04-04 23:44:31 8252

原创 leetcode--46 全排列

给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路:回溯法输入n个数对应的全排列个数为n!,考虑dfs求解,分别以数组中的每个数作为排列的起始位置,一定要注意一点:通过设置条件去掉那些无用的分支,本...

2019-04-04 18:22:57 113

原创 机器学习算法梳理第一篇--随机森林

1. 随机森林思想:随机森林是一种集成学习方法,属于bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型具备较高的精度和泛化能力。“随机”和“森林”扮演重要角色,前者能够最大程度避免过拟合,后者使模型更加精准。1.1 集成学习:与单一的学习模型相比,集成学习模型的优势在于能够把多个单一学习模型有机地结合起来,获得一个统一的集成学习模型,从而获得更准确、稳定...

2019-04-04 16:09:12 1737

原创 leetcode--279 完全平方数

给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9解题思路:当没有仔细看题目时先想到了贪心算法,即13=1+1+1+1+9...

2019-04-03 21:24:20 187

转载 回溯法详解

一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索 二叉树的后序遍历 【 分支限界法...

2019-04-02 22:07:45 6660 1

原创 leetcode--93 复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出:["255.255.11.135", "255.255.111.35"]首先介绍下IPv4地址:IPv4地址由十进制数和点来表示,每个地址由4个十进制数组成,其范围为0 -255,用(".")分割。比如,172.16.254.1;同时注意,IPv4 地址...

2019-04-02 21:54:43 493

原创 leetcode--139单词拆分

单词拆分给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetc...

2019-04-01 21:44:13 171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除