自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逐梦er的博客

到底什么是热爱 源于内心的脆弱 短暂的快活 像飞蛾扑火

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

原创 机器学习入门笔记总目录

机器学习入门笔记是我参考周志华老师的《机器学习》西瓜书、李杭老师的《统计学习方法》第二版以及课程教材等资料写的。该目录主要记录关于机器学习和算法基本概念的博客链接。——————————————————————————————————————好好学习,好好努力,希望自己能够坚持下去!!!目录机器学习的基本概念和相关术语https://blog.csdn.net/qq_43328040/article/details/106823245机器学习入门笔记(一):模型性能评价与选择https:

2020-06-28 16:51:44 10810 42

原创 Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块经典飞机大战源代码以及素材资料(图片,音频)可从下面的github中下载:飞机大战源代码以及素材资料github项目地址链接—————————————————————————————————————————————————————————不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

2020-06-19 11:40:37 49627 176

原创 动态规划系列问题—从小白到大佬的入门、进阶之旅!!!

文章目录前言一.什么是动态规划二.动态规划术语三.简单递归问题四.经典背包问题五.线性DP5.1数字三角形5.2子序列问题(LIS、LCS)六.区间DP6.1原理6.2模板6.3实战6.3.1 石子合并问题6.3.2 其他区间DP问题(思路和代码详解)七.树形DP7.1原理7.2实战7.2.1 没有上司的舞会7.2.2 其他树形DP问题(思路和代码详解)八.数位DP8.1原理8.2实战8.2.1 数字游戏8.2.2 其他数位DP问题(思路和代码详解)九.状压DP9.1原理9.2位运算基础9.3实战9.3.1

2020-06-18 23:08:44 11641 26

原创 五大数据分析案例——手把手教你处理数据信息(基础、详细)

文章目录利用python进行数据分析(第二版)示例一.关于时区的数据分析1.1纯python时区计数1.2使用pandas进行时区计数示例二.电影评分数据分析2.1测量评价分歧示例三.美国1880~2010年的婴儿名字数据分析3.1分析名字趋势'最后一个字母'革命示例四.美国农业部食品数据库数据分析示例五.2012年美国联邦选举委员会数据库数据分析5.1 按职业和雇主进行捐献统计5.2 捐赠金额分桶5.3按州进行捐赠统计本章中的数据文件可从下面的github中下载利用python进行数据分析(第二版)

2020-06-15 15:53:06 8261 1

原创 python学习笔记之numpy库的使用——超详细

文章目录NumPy介绍一.如何创建1.导入Numpy库,并命名为np:2.查看版本3.通过列表创建一维数组:4.通过列表创建二维数组:5.创建全为0的二维数组6.创建全为1的三维数组7.创建一维等差数组8. 创建二维等差数组:9. 创建单位矩阵(二维数组):10. 创建二维随机数组:11.创建二维随机整数数组(数值小于 5):二.数组运算12.一维数组加法运算:13.一维数组减法运算:14. 一维数组乘法运算:15.一维数组除法运算:16.二维数组的运算,相应位置上进行+-*/17 矩阵乘法运算(注意与上题

2020-06-07 14:07:54 79897 42

原创 背包九讲问题——超详细

Acwing背包题库一.01背包问题问题描述有 N 件物品和一个容量是 VV 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤100

2020-06-06 23:27:54 7494 19

原创 LeetCode 1116. 打印零与奇偶数

假设有这么一个类:class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void even(printNumber) { ... } // 仅打印出 偶数 public void odd(printNumber) { ... } // 仅打印出 奇数}相同的一个 ZeroEvenOdd 类

2021-09-15 00:21:19 462

原创 LeetCode 1115. 交替打印FooBar

我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个线程将会调用 foo() 方法,另一个线程将

2021-09-15 00:15:58 385

原创 LeetCode 1114. 按序打印

我们提供了一个类:public class Foo { public void first() { print("first"); } public void second() { print("second"); } public void third() { print("third"); }}三个不同的线程 A、B、C 将会共用一个 Foo 实例。一个将会调用 first() 方法一个将会调用 second() 方法还有一个将会调用 third() 方法请设计修改程序,以确

2021-09-15 00:05:04 408

原创 美团笔试题——最优二叉树II

题目描述小团有一个由N个节点组成的二叉树,每个节点有一个权值。定义二叉树每条边的开销为其两端节点权值的乘积,二叉树的总开销即每条边的开销之和。小团按照二叉树的中序遍历依次记录下每个节点的权值,即他记录下了N个数,第i个数表示位于中序遍历第i个位置的节点的权值。之后由于某种原因,小团遗忘了二叉树的具体结构。在所有可能的二叉树中,总开销最小的二叉树被称为最优二叉树。现在,小团请小美求出最优二叉树的总开销。输入描述:第一行输入一个整数N(1<=N<=300),表示二叉树的节点数。第二行输入N

2021-03-29 17:45:46 3715 2

原创 美团笔试题——公司食堂

题目描述小美和小团所在公司的食堂有N张餐桌,从左到右摆成一排,每张餐桌有2张餐椅供至多2人用餐,公司职员排队进入食堂用餐。小美发现职员用餐的一个规律并告诉小团:当男职员进入食堂时,他会优先选择已经坐有1人的餐桌用餐,只有当每张餐桌要么空着要么坐满2人时,他才会考虑空着的餐桌;当女职员进入食堂时,她会优先选择未坐人的餐桌用餐,只有当每张餐桌都坐有至少1人时,她才会考虑已经坐有1人的餐桌;无论男女,当有多张餐桌供职员选择时,他会选择最靠左的餐桌用餐。现在食堂内已有若干人在用餐,另外M个人正排队进入食堂,小

2021-03-29 17:12:19 1809 1

原创 美团笔试题——正则序列

题目描述我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序有一天小团得到了一个长度为n的任意序列,他需要在有限次操作内,将这个序列变成一个正则序列,每次操作他可以任选序列中的一个数字,并将该数字加一或者减一。请问他最少用多少次操作可以把这个序列变成正则序列?输入描述:输入第一行仅包含一个正整数n,表示任意序列的长度。(1<=n<=20000)输入第二行包含n个整数,表示

2021-03-29 17:04:57 1629

原创 美团笔试题——淘汰分数

题目描述某比赛已经进入了淘汰赛阶段,已知共有n名选手参与了此阶段比赛,他们的得分分别是a_1,a_2….a_n,小美作为比赛的裁判希望设定一个分数线m,使得所有分数大于m的选手晋级,其他人淘汰。但是为了保护粉丝脆弱的心脏,小美希望晋级和淘汰的人数均在[x,y]之间。显然这个m有可能是不存在的,也有可能存在多个m,如果不存在,请你输出-1,如果存在多个,请你输出符合条件的最低的分数线。输入描述:输入第一行仅包含三个正整数n,x,y,分别表示参赛的人数和晋级淘汰人数区间。(1<=n<=5

2021-03-29 16:52:24 1517

原创 Git工具的详细教程

1. Git简介Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:本地仓库和远程仓库本地仓库:是在开发人员自己电脑上的Git仓库远程仓库:是在远程服务器上的Git仓库Clone:克隆,就是将远程仓库复制到本地Push:推送,就是将本地仓库代码上传到远程仓库Pull:拉取,就是将远程仓库代码下载到本地仓库工作流程如下:1.从远程仓库中克隆代码到本地仓库2.从本地仓库中checkout代码然后进行代码修

2021-03-26 21:22:57 1722 29

原创 Java类加载器与反射机制

文章目录1.类加载器1.1类加载1.2类加载器1.2.1类加载器的作用1.2.2JVM的类加载机制2.反射2.1反射的概述2.2获取Class类对象的三种方式2.3反射获取构造方法并使用2.4反射获取构造方法2.5反射获取构造方法2.6反射获取成员变量并使用2.7反射获取成员变量并使用练习2.8反射获取成员方法并使用【应用】2.9反射获取成员方法并使用练习2.10反射的案例1.类加载器1.1类加载类加载的描述当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初

2021-03-20 21:22:09 1493 5

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 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,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点

2021-03-07 16:17:48 672

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6解释:

2021-03-07 16:08:41 1650 3

原创 剑指 Offer 66. 构建乘积数组

题目描述给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000题解先累乘i左边的所有数,在累乘i右边的数class Solution

2021-03-07 16:05:14 375 22

原创 剑指 Offer 64. 求1+2+…+n

题目描述求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000class Solution { public int sumNums(int n) { int sum = n; boolean b = (n > 0) &

2021-03-07 16:03:43 157

原创 剑指 Offer 63. 股票的最大利润

题目描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <= 数

2021-03-07 16:02:40 174

原创 剑指 Offer 62. 圆圈中最后剩下的数字

题目描述0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <= n <= 10^51 <= m

2021-03-07 16:00:40 151

原创 剑指 Offer 61. 扑克牌中的顺子

题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .题解0可以看成任意数判断是否有重复的数字,如果有返回false得到最大值和最小值,判断max - min,如果小于5

2021-03-07 14:50:59 1164 5

原创 剑指 Offer 60. n个骰子的点数

题目描述把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例 2:输入: 2输出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.11

2021-03-07 14:48:07 374

原创 剑指 Offer 59 - I. 滑动窗口的最大值

题目描述给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5

2021-03-07 14:44:30 1236 5

原创 剑指 Offer 58 - II. 左旋转字符串

题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”限制:1 <= k < s.length <= 10000class Sol

2021-03-06 16:32:13 164

原创 剑指 Offer 58 - I. 翻转单词顺序

题目描述输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。class Solution { public String reverseWords(String s) { s = s.trim(); int i = s.length() - 1; int j = i; StringBuil

2021-03-06 16:31:03 164

原创 剑指 Offer 57 - II. 和为s的连续正数序列

题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <= 10^5双指针算法class Solution { public int[][] find

2021-03-06 16:29:27 221

原创 剑指 Offer 57. 和为s的两个数字

题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51 <= nums[i] <

2021-03-06 16:28:18 114

原创 剑指 Offer 56 - II. 数组中数字出现的次数 II

题目描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31题解计算二进制中每一位1出现的次数,对3取余,就得到了只出现一次的数class Solution { public i

2021-03-06 16:26:47 107

原创 剑指 Offer 56 - I. 数组中数字出现的次数

题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums.length <= 10000题解先对所有数字进行一次异或,得到两个出现一次的数字的异或值。在异或结果中

2021-03-06 16:24:53 102

原创 剑指 Offer 55 - II. 平衡二叉树

题目描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7]返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]题解对于当前节点,分别递归判断左子树和右子树的深度class Solution { int flag; public boolean isBalanced(TreeNode roo

2021-03-06 16:22:53 217

原创 剑指 Offer 55 - I. 二叉树的深度

题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。题解递归一遍即可class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; return 1 + Math.max(maxDep

2021-03-06 16:19:29 239

原创 剑指 Offer 54. 二叉搜索树的第k大节点

题目描述给定一棵二叉搜索树,请找出其中第k大的节点。限制:1 ≤ k ≤ 二叉搜索树元素个数题解dfs因为是二叉搜索树,所以先递归右子树,递归回溯的过程中计数,得到第k大的节点class Solution { TreeNode ans; int cnt; public int kthLargest(TreeNode root, int k) { dfs(root, k); return ans.val; } public

2021-03-06 16:16:02 236

原创 剑指 Offer 53 - I. 在排序数组中查找数字 I

题目描述统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000题解二分class Solution { public int search(int[] nums, int target) { int l = 0, r = nums.

2021-03-06 10:37:40 102 1

原创 剑指 Offer 52. 两个链表的第一个公共节点

题目描述输入两个链表,找出它们的第一个公共节点。题解我们使用两个指针 node1,node2 分别指向两个链表 headA,headB 的头结点,然后同时分别逐结点遍历,当 node1 到达链表 headA 的末尾时,重新定位到链表 headB 的头结点;当 node2 到达链表 headB 的末尾时,重新定位到链表 headA 的头结点。这样,当它们相遇时,所指向的结点就是第一个公共结点。public class Solution { public ListNode getInters

2021-03-04 16:23:06 112 1

原创 剑指 Offer 51. 数组中的逆序对

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000题解归并排序求逆序对class Solution { int ans; int[] b; public int reversePairs(int[] nums) { b = new int[nums.length];

2021-03-04 16:21:30 215 2

原创 剑指 Offer 50. 第一个只出现一次的字符

题目描述在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = “abaccdeff”返回 “b”s = “”返回 " "限制:0 <= s 的长度 <= 50000题解对每个数字出现的次数进行统计class Solution { public char firstUniqChar(String s) { int[] chars = new int[256]; for(int

2021-03-04 16:20:27 91 1

原创 剑指 Offer 49. 丑数

题目描述我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。class Solution { public int nthUglyNumber(int n) { int[] dp = new int[n]; // 使用dp数组来存储丑数序

2021-03-04 16:19:03 90 1

原创 剑指 Offer 48. 最长不含重复字符的子字符串

题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子

2021-03-04 16:16:54 91 1

原创 剑指 Offer 47. 礼物的最大价值

题目描述在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物提示:0 < grid.length <= 2000 < grid[0].l

2021-03-04 16:15:07 105 1

空空如也

空空如也

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

TA关注的人

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