- 博客(142)
- 收藏
- 关注
原创 ubuntu下编译ffmpeg 通过extract_mvs.c提取motion vector
编译ffmpeg在官网http://ffmpeg.org/下载最新版本. 解压ffmpeg tar -jxvf ffmpeg-snapshot.tar.bz2 进入目录cd ffmpeg下载编译yasm从http://yasm.tortall.net/Download.html下载yasmtar -xvzf yasm-1.3.0.tar.gzcd yasm-1.3.0/./configuremakemake install回到ffmpeg目录中./configure --enab
2021-02-04 17:27:20
673
2
原创 李宏毅机器学习作业二Classification:年收入分类
1作业任务二元分类是机器学习中最基础的问题之一,在这份教学中,你将学会如何实作一个线性二元分类器,来根据人们的个人资料,判断其年收入是否高于50000美元。我们将以两种方法:logistic regression与generative model,来达成以上目的,你可以尝试了解、分析两者的设计理念及差别。2原始代码导入数据集X_train_fpath = './data/X_train'Y_train_fpath = './data/Y_train'X_test_fpath = './data/
2020-08-14 18:49:34
1354
原创 统计学习方法-第2章感知机算法代码实现
第2章 感知机1.感知机是根据输入实例的特征向量x对其进行二类分类的线性分类模型:f(x)=sign(w⋅x+b)f(x)=\operatorname{sign}(w \cdot x+b)f(x)=sign(w⋅x+b)感知机模型对应于输入空间(特征空间)中的分离超平面w⋅x+b=0w \cdot x+b=0w⋅x+b=0。2.感知机学习的策略是极小化损失函数:minw,bL(w,b)=−∑xi∈Myi(w⋅xi+b)\min _{w, b} L(w, b)=-\sum_{x_{i}
2020-07-31 21:53:25
463
原创 李宏毅机器学习作业一Linear Regression:预测PM2.5
作业任务:本次作业使用丰原站的观测记录,分成train set跟test set,train set是丰原站每个月的前20天所有数据。test set则是从丰原站剩下的数据中取样出来。
2020-07-30 21:10:12
865
原创 链式前向星
Nodes from the RootTime Limit : 3000/1000ms (Java/Other)Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 40Accepted Submission(s) : 9Font:Times New Roman|Verdana|Georgia...
2020-02-29 21:51:19
290
原创 leetcode 443. 压缩字符串
给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a",...
2019-11-09 08:54:39
199
原创 leetcode 437. 路径总和 III
给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8...
2019-11-03 16:50:14
178
原创 leetcode 392. 判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s ...
2019-11-02 11:44:14
169
原创 leetcode-401. 二进制手表
二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。给定一个非负整数 n代表当前 LED 亮着的数量,返回所有可能的时间。案例:输入: n = 1返回: ["1:00", "2:00", "4:00", "8:00", "0:01",...
2019-10-16 20:46:49
271
1
原创 优先队列
定义普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。堆的定义数据结构二叉堆能够很好地实现优先队列的基本操作。在二叉堆的数组中,每个元素都要保证大于等于另两个特定位置的元素。相应地,这...
2019-09-22 16:18:18
279
原创 基本排序算法之快速排序
快速排序是一种分治的排序算法。它将一个数组分为两个数组,将两部分独立地排序。快速排序递归地将子数组a[lo..hi]排序,先用partition()方法将a[j]放到一个合适的位置,然后再用递归调用将其他位置的元素排序。该方法的关键在于切分,这个过程使得数组满足下面三个条件:1.对于某个j,a[j]已经排定;2.a[lo]到a[j - 1]中的所有元素都不大于a[j];3.a[...
2019-09-21 19:24:30
159
原创 动态规划
题目来源于up主正月点灯笼https://www.bilibili.com/video/av16544031ex1图中每一个矩形代表一个任务,每个任务都得在某个时间段内完成,同一时间段只能完成一个任务。完成每个任务后可以得到奖励,求最大的奖励。prev[i]为最接近i的那个可以完成的任务,与起始时间最接近的第i个任务的最优解=第i个任务不选的情况下第七个任务的最优解与选了第...
2019-09-15 11:23:57
237
原创 归并排序
归并:即将两个有序的数组归并成一个更大的有序数组。原地归并的抽象方法该方法用两个指针分别比较数组左右两边的元素大小。该方法创建了一个新的数组用来储存原来数组的信息。 public static void merge(Comparable[] a, int lo, int mid, int hi){ int[] aux = new int[a.length]; ...
2019-09-14 19:29:16
238
原创 leetcode-88. 合并两个有序数组
给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 =...
2019-09-14 14:29:25
169
原创 基本排序算法
选择排序实现原理首先找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。特点运行时间与输入无关。为了找出最小的元素而扫描一遍数组并不能为下一遍扫描提供什么有用信息。 数据移动是最少的。每次交换都会改变两个数组元素的值,因此...
2019-09-13 14:54:46
200
原创 机器学习实战 k-近邻算法
简单的说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用数据范围:数值型和标称型。试用k-近邻算法改进约会网站的配对效果from numpy import *import operatorimport osdef creatDataSet(): group = arr...
2019-09-03 19:59:14
161
原创 leetcode 53.最大子序和
题目描述:最大子序和给定一个序列(至少含有 1 个数),从该序列中寻找一个连续的子序列,使得子序列的和最大。例如,给定序列[-2,1,-3,4,-1,2,1,-5,4],连续子序列[4,-1,2,1]的和最大,为6。扩展练习:若你已实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。第一种方法:...
2019-09-03 13:12:26
134
原创 LeetCode 14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。第一种方法,把str看成list而st...
2019-09-02 22:03:38
134
原创 Interview Questions: Union–Find (ungraded)
最近在学coursera上的算法课程。下面是课后习题的答案。1.Social network connectivity.Given a social network containingnnmembers and a log file containingmmtimestamps at which times pairs of members formed friendships...
2019-08-14 09:54:38
1196
2
原创 union-find算法
quick-find算法public class UF { private int[] id; //分量id private int count; //分量数量 public UF(int N){ count = N; id = new int[N]; for(int i = 0;i < N;i++){...
2019-08-13 16:43:52
190
原创 数据结构-树的前序,中序,后序,层序遍历(java)
中序遍历(递归实现)public void traversal(TreeNode root){ if(root != null){ //中序遍历: 左、中、右 traversal(root.left); System.out.println(root.val); traversal(root.right); }...
2019-04-21 08:49:49
285
原创 leetcode 389. 找不同
给定两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。方法1class Solution { public char findTheDifference(St...
2019-04-20 15:43:15
278
原创 leetcode 429. N叉树的层序遍历
给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[ [1], [3,2,4], [5,6]]说明:树的深度不会超过1000。 树的节点总数不会超过5000。递归实现/*// Definition for a Node.class Node { pu...
2019-04-08 20:59:49
198
原创 leetcode 669. 修剪二叉搜索树
给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。示例 1:输入: 1 / \ 0 2 L = 1 R = 2输出: 1 \ 2示例 2:输入: ...
2019-04-08 18:40:24
113
原创 leetcode 559. N叉树的最大深度
给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个3叉树:我们应返回其最大深度,3。说明:树的深度不会超过1000。 树的节点总不会超过5000。dfs递归求深度/*// Definition for a Node.class Node { public int val; pub...
2019-04-01 21:20:06
175
原创 leetcode 589. N叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个3叉树:返回其前序遍历:[1,3,5,6,2,4]。非递归写法/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} ...
2019-03-31 17:03:01
185
原创 leetcode 590. N叉树的后序遍历
给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个3叉树:返回其后序遍历:[5,6,3,2,4,1].说明:递归法很简单,你可以使用迭代法完成此题吗?迭代法/*// Definition for a Node.class Node { public int val; public List<Node> children;...
2019-03-30 11:54:54
254
原创 leetcode 977. 有序数组的平方
示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= A.length <= 10000 -10000 <= A[i] <= 10000 A已按非递减顺序排序。第一个想法是把直接把所有的元素都平方然后排序,复杂度...
2019-03-24 23:56:38
360
原创 leetcode-874. 模拟行走机器人
机器人在一个无限大小的网格上行走,从点(0, 0) 处开始出发,面向北方。该机器人可以接收以下三种类型的命令:-2:向左转90 度 -1:向右转 90 度 1 <= x <= 9:向前移动x个单位长度在网格上有一些格子被视为障碍物。第i个障碍物位于网格点 (obstacles[i][0], obstacles[i][1])如果机器人试图走到障碍物上方,那...
2019-03-24 10:29:00
376
原创 leetcode-703. 数据流中的第K大元素
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的KthLargest类需要一个同时接收整数k和整数数组nums的构造器,它包含数据流中的初始元素。每次调用KthLargest.add,返回当前数据流中第K大的元素。示例:int k = 3;int[] arr = [4,5,8,2];KthLargest kthLa...
2019-03-16 21:11:03
211
原创 leetcode-232. 用栈实现队列
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1qu...
2019-03-16 19:21:31
157
原创 leetcode-225用队列实现栈
使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back,peek/pop from front,size, 和is empty这些操作是合法的。 你所使用的语言也许不支持队列。你可以使用 lis...
2019-03-16 16:45:38
233
转载 mysql触发器的简单使用
若declare报missing semicolon的错误,在sql语句前加上DELIMITER$$MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。创建触发器在MySQL中,创建触发器语法如下:CREATE TRIGGER trigger_nametrigger_...
2019-03-05 20:27:27
230
原创 json自动转换成java实体类
今天测试百度的接口时,得到了一个非常长的json串,看到这个json串的时候简直要崩溃了,因为太长了,根本写不出来对应的实体类。分享一个自动转json为java实体类的网站!!!太强了!!!http://www.bejson.com/json2javapojo/new/然后就可以用fastjson里的JSON.parseObject(str,WalkRoute.class);...
2019-03-05 18:49:21
5391
1
转载 Java设计模式系列之迭代器模式
转自:https://www.cnblogs.com/ysw-go/p/5384516.html迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模式的角色构成(1)迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法h...
2019-02-27 09:28:00
167
转载 java责任链模式
转自:https://www.cnblogs.com/fan-yuan/p/7989377.html接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图: 此处强...
2019-02-26 23:01:23
204
转载 java设计模式之享元模式
转自:https://www.cnblogs.com/lfxiao/p/6817141.html 当前咱们国家正在大力倡导构建和谐社会,其中一个很重要的组成部分就是建设资源节约型社会,“浪费可耻,节俭光荣”。在软件系统中,有时候也会存在资源浪费的情况,例如在计算机内存中存储了多个完全相同或者非常相似的对象,如果这些对象的数量太多将导致系统运行代价过高,内存属于计算机的“稀缺资源”,不应该用来“...
2019-02-26 22:11:11
203
转载 java设计模式之外观模式(门面模式)
转自:https://www.cnblogs.com/lthIU/p/5860607.html针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下。一、概念介绍 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访...
2019-02-26 20:56:49
178
转载 Java设计模式之装饰者模式
要实现装饰者模式,注意一下几点内容:1.装饰者类要实现真实类同样的接口2.装饰者类内有一个真实对象的引用(可以通过装饰者类的构造器传入)3.装饰类对象在主类中接受请求,将请求发送给真实的对象(相当于已经将引用传递到了装饰类的真实对象)4.装饰者可以在传入真实对象后,增加一些附加功能(因为装饰对象和真实对象都有同样的方法,装饰对象可以添加一定操作在调用真实对象的方法,或者先调用真实对...
2019-02-26 20:38:53
190
转载 JAVA 设计模式 组合模式
组合模式 (Component)用途将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有唯一性。组合模式是一种结构型模式。结构Component : 组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理 Component 的子部件。public abstract class C...
2019-02-25 11:27:39
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人