算法
韩绘锦
苟有恒何必三更灯火五更鸡,最无益莫过一日曝十日寒。
展开
-
337. 打家劫舍 III
337. 打家劫舍 III在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。# Definition for a binary tree node.# class TreeNode:#原创 2020-05-20 11:44:40 · 209 阅读 · 1 评论 -
115. 不同的子序列
115. 不同的子序列给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE”的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。递归(超时了)class Solution: def numDistinct(self, s: str, t: str) -> int: l原创 2020-05-16 21:51:41 · 140 阅读 · 0 评论 -
114. 二叉树展开为链表
114. 二叉树展开为链表给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树将其展开为:通过次数40,350提交次数58,634在真实的面试中遇到过这道题?法一# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left原创 2020-05-15 23:13:41 · 119 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树:通过次数65,024提交次数99,429 在真实的面试中遇到过这道题?# Definition for a binary tree node.# class TreeNode:# def __init__(self,原创 2020-05-14 20:11:53 · 120 阅读 · 0 评论 -
210. 课程表 II
210. 课程表 II现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]] 输出: [0,1] 解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确原创 2020-05-14 11:30:14 · 143 阅读 · 0 评论 -
207. 课程表
207. 课程表你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true 解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。 示例2:输入: 2, [[1,0],[0,1]] 输出原创 2020-05-13 23:19:53 · 337 阅读 · 0 评论 -
98. 验证二叉搜索树
98. 验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1:输入:2 / \ 1 3 输出: true 示例 2:输入:5 / \ 1 4/ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 ,但是其右子节点值为 4 。 通过原创 2020-05-12 14:43:14 · 140 阅读 · 0 评论 -
不同的二叉搜索树
96. 不同的二叉搜索树给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / \ \ 2 1 2原创 2020-05-12 13:54:23 · 202 阅读 · 0 评论 -
617. 合并二叉树
617. 合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 21 2/ \ / \3 2原创 2020-05-11 19:43:22 · 122 阅读 · 1 评论 -
543. 二叉树的直径
543. 二叉树的直径给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。刚开始蠢蠢的做法,虽然蠢但也记录一下吧# Definition for a binary tr原创 2020-05-11 14:33:38 · 138 阅读 · 0 评论 -
538. 把二叉搜索树转换为累加树
538. 把二叉搜索树转换为累加树给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(GreaterTree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 原始二叉搜索树:5/ 2 13输出: 转换为累加树:18/ 20 13注意:本题和 1038:https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/相同原创 2020-05-10 21:34:16 · 185 阅读 · 0 评论 -
226. 翻转二叉树
226. 翻转二叉树翻转一棵二叉树。示例:输入: 4/ 2 7/ \ / 1 3 6 9输出: 4/ 7 2/ \ / 9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。# Definition for a binary tree node.# class TreeN原创 2020-05-10 00:48:13 · 148 阅读 · 0 评论 -
437. 路径总和 III
437. 路径总和 III给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \5 -3/ \ 3 2 11/ \ 3原创 2020-05-09 14:01:33 · 172 阅读 · 0 评论 -
格雷编码
格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010...原创 2019-09-20 20:55:25 · 119 阅读 · 0 评论 -
Task3 EM
前言EM算法是机器学习十大算法之一,它很简单,但是也同样很有深度,简单是因为它就分两步求解问题,E步:求期望(expectation)M步:求极大(maximization)深度在于它的数学推理涉及到比较繁杂的概率公式等,所以本文会介绍很多概率方面的知识,不懂的同学可以先去了解一些知识,当然本文也会尽可能的讲解清楚这些知识,讲的不好的地方麻烦大家评论指出,后续不断改进完善。EM算法引...原创 2020-04-25 21:59:12 · 532 阅读 · 0 评论 -
Task2 bayes_plus
知识点梳理相关概念(生成模型、判别模型)先验概率、条件概率贝叶斯决策理论贝叶斯定理公式极值问题情况下的每个类的分类概率下溢问题如何解决零概率问题如何解决?优缺点sklearn参数详解,Python绘制决策树sklearn接口from sklearn.naive_bayes import GaussianNBfrom sklearn.datasets import loa...原创 2020-04-23 21:16:41 · 277 阅读 · 0 评论 -
Task1 Linear_regression
线性回归的概念1、线性回归的原理2、线性回归损失函数、代价函数、目标函数3、优化方法(梯度下降法、牛顿法、拟牛顿法等)4、线性回归的评估指标5、sklearn参数详解1、线性回归的原理进入一家房产网,可以看到房价、面积、厅室呈现以下数据: 面积($x_1$) 厅室数量($x_2)$ 价格(万元)(y) ...原创 2020-04-20 01:30:16 · 206 阅读 · 0 评论 -
蓝桥杯校内模拟赛
问题描述 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。 请问,总共能排列如多少个不同的单词。答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。res=1for i in range(1,8): ...原创 2020-04-18 16:09:08 · 190 阅读 · 0 评论 -
蓝桥杯~算法训练 Sereja and Squares(python)
试题 算法训练 Sereja and Squares提交此题资源限制时间限制:4.0s 内存限制:256.0MB问题描述 Sereja在平面上画了n个点,点i在坐标(i,0)。然后,Sereja给每个点标上了一个小写或大写英文字母。Sereja不喜欢字母"x",所以他不用它标记点。Sereja认为这些点是漂亮的,当且仅当: ·所有的点可以被分成若干对,使得每个点恰好属于一一对之...原创 2020-04-15 00:41:11 · 2345 阅读 · 6 评论 -
蓝桥杯~算法训练 Yaroslav and Algorithm
试题 算法训练 Yaroslav and Algorithm提交此题资源限制时间限制:100ms 内存限制:128.0MB问题描述 (这道题的数据和SPJ已完工,尽情来虐吧!)Yaroslav喜欢算法。我们将描述一个他最喜欢的算法。1.这个算法接受一个字符串作为输入。我们设这个输入字符串为a。 2.这个算法由一些命令组成。i号命令的形式为"s[i]>>w[i]“...原创 2020-04-14 00:36:46 · 2431 阅读 · 9 评论 -
蓝桥杯~算法训练 猴子吃包子
试题 算法训练 猴子吃包子提交此题资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。输入格式 输入1行,包含7个整数,分...原创 2020-04-13 00:27:07 · 371 阅读 · 0 评论 -
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4在真实的面试中遇到过这道题?是否来源:力扣(LeetCode)链接:https://leetcode-cn.c...原创 2019-09-25 13:50:14 · 83 阅读 · 0 评论 -
137. 只出现一次的数字||(位运算)
137. 只出现一次的数字 II难度中等292给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99字典class Solution: ...原创 2020-04-12 01:34:03 · 132 阅读 · 0 评论 -
蓝桥杯入门训练&基础练习
圆的面积import mathPI=3.14159265358979323r=float(input())from decimal import *a=PI*r*rprint ('%.7f'%a)578.5398163a=int(input())temp1=1temp2=1res=0t=0for i in range(3,a+1): res=(temp1+...原创 2020-04-11 14:37:07 · 7724 阅读 · 0 评论 -
蓝桥杯基础练习~分解质因数&字符串对比&时间转换
试题 基础练习 分解质因数提交此题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=225=56=237=78...原创 2020-04-11 14:33:43 · 229 阅读 · 0 评论 -
蓝桥杯基础练习~ 矩形面积交&矩阵乘法
试题 基础练习 矩形面积交提交此题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出...原创 2020-04-10 23:50:02 · 179 阅读 · 0 评论 -
线性规划单纯形算法&对偶单纯性算法matlab
单纯性算法%输入参量'function [ X,z ] = lp( N,b,Cn )%N:约束条件系数矩阵,b:资源向量,Cn:价值向量%N=[1 0;0 2;3 2];%初始基变量,就是没有使用的,没有添加松弛变量的[row,col] = size(N);E=eye(row);%使用单位矩阵A=[N E];%合起来的A%Cn=[2 3];%目标函数的参数Cb=zeros(...原创 2020-04-09 23:12:17 · 2773 阅读 · 0 评论 -
蓝桥杯基础练习~芯片测试&FJ的字符串&Sine之舞&数的读法&完美的代价
试题 基础练习 芯片测试提交此题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好...原创 2020-04-09 23:04:13 · 261 阅读 · 0 评论 -
蓝桥杯基础练习~报时助手&回形取数&龟兔赛跑预测
试题 基础练习 报时助手提交此题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five t...原创 2020-04-08 23:32:44 · 203 阅读 · 0 评论 -
蓝桥杯基础练习~阶乘计算&高精度加法&Huffuman树&2n皇后问题
试题 基础练习 阶乘计算提交此题资源限制时间限制:1.0s 内存限制:512.0MB问题描述 输入一个正整数n,输出n!的值。 其中n!=123*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘...原创 2020-04-07 21:57:07 · 435 阅读 · 1 评论 -
反转字符串
评论题解New历史编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例...原创 2019-10-12 14:24:12 · 72 阅读 · 0 评论 -
蓝桥杯基础训练~01字串&闰年判断
01字串问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>for i ...原创 2020-04-06 23:02:31 · 194 阅读 · 1 评论 -
蓝桥杯刷题~入门训练及基础练习前11题
圆的面积import mathPI=3.14159265358979323r=float(input())from decimal import *a=PI*r*rprint ('%.7f'%a)578.5398163a=int(input())temp1=1temp2=1res=0t=0for i in range(3,a+1): res=(temp1+...原创 2020-04-05 20:33:15 · 368 阅读 · 0 评论 -
Datawhale 零基础入门数据挖掘-Task5 模型融合
Datawhale 零基础入门数据挖掘-Task5 模型融合五、模型融合Tip:此部分为零基础入门数据挖掘的 Task5 模型融合 部分,带你来了解各种模型结果的融合方式,在比赛的攻坚时刻冲刺Top,欢迎大家后续多多交流。赛题:零基础入门数据挖掘 - 二手车交易价格预测地址:https://tianchi.aliyun.com/competition/entrance/231784/int...原创 2020-04-04 20:57:29 · 285 阅读 · 0 评论 -
matlab实现的一个简易的svm用于演示四个点的两类分类问题
%%简单的SVM程序,用于演示四个点的两类分类情况%此例子为线性可分情况%课上PPT例程%clc; %关闭所有的变量和窗口clear all;close all;%定义各个点t=[0 0;0 1;1 0;1 1]; %输入y=[1 1 -1 -1]; %点的分类[m,n]=size(t); x=zeros(m,1);%解释quadprog(H,f...原创 2020-04-02 21:14:15 · 545 阅读 · 0 评论 -
Datawhale 零基础入门数据挖掘-Task4 建模调参
Datawhale 零基础入门数据挖掘-Task4 建模调参四、建模与调参Tip:此部分为零基础入门数据挖掘的 Task4 建模调参 部分,带你来了解各种模型以及模型的评价和调参策略,欢迎大家后续多多交流。赛题:零基础入门数据挖掘 - 二手车交易价格预测地址:https://tianchi.aliyun.com/competition/entrance/231784/introductio...原创 2020-04-01 19:53:46 · 324 阅读 · 0 评论 -
44. 通配符匹配
44. 通配符匹配难度困难297给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘’ 的通配符匹配。‘?’ 可以匹配任何单个字符。'’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 。示例 1:输入:s = “a...原创 2020-03-30 23:30:58 · 492 阅读 · 0 评论 -
134. 加油站
134. 加油站难度中等249在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组...原创 2020-03-29 16:41:05 · 146 阅读 · 0 评论 -
Datawhale 零基础入门数据挖掘-Task3 特征工程
Datawhale 零基础入门数据挖掘-Task3 特征工程三、 特征工程目标Tip:此部分为零基础入门数据挖掘的 Task3 特征工程 部分,带你来了解各种特征工程以及分析方法,欢迎大家后续多多交流。赛题:零基础入门数据挖掘 - 二手车交易价格预测地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?...原创 2020-03-28 20:09:18 · 2172 阅读 · 0 评论 -
455. 分发饼干
455. 分发饼干难度简单假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:...原创 2020-03-27 18:10:31 · 129 阅读 · 0 评论