摘要:
Coding Study Source Code for "cnblogs" This is the source code for coding study, you can see my "CodingStudy" repository. I'll keep updating for full 阅读全文
摘要:
Yet Another Source Code for "LintCode" Current Status : 232 / 289 in Language , Up to date (2016 02 10) For more problems and solutions, you can see m 阅读全文
摘要:
1)集合子集 对于给定的集合S={1,2,3},求其所有子集。LintCode 一种通常的做法是:对于集合中的任意一个元素e,有两种可能:被选中作为子集中的元素,或否。因此,一个包含N个元素的集合,共有2^N个子集。如上例,其所有子集如下: s0={}, s1={1}, s2={2}, s3={3} 阅读全文
摘要:
矩阵置零(更新新方法) 题目描述:有一个M行N列的矩阵,每个元素值为0或1,将值为0的元素所在行和列都置为0. 乍一看题目很简单,如果不考虑时间、空间复杂度,那么很容写出下面的代码: 然而上面的代码并不正确。因为在置零函数setzero执行后,将修改了后续的矩阵元素,这样就会再次影响其他位置的元素。 阅读全文
摘要:
LintCode有大部分题目来自LeetCode,但LeetCode比较卡,下面以LintCode为平台,简单介绍我AC的几个题目,并由此引出一些算法基础。 1)两数之和(two-sum) 题目编号:56,链接:http://www.lintcode.com/zh-cn/problem/two-su 阅读全文
摘要:
排列(Arrangement),简单讲是从N个不同元素中取出M个,按照一定顺序排成一列,通常用A(M,N)表示。当M=N时,称为全排列(Permutation)。从数学角度讲,全排列的个数A(N,N)=(N)*(N-1)*...*2*1=N!,但从编程角度,如何获取所有排列?那么就必须按照某种顺序逐 阅读全文
摘要:
归并排序(Merge Sort)与快速排序思想类似:将待排序数据分成两部分,继续将两个子部分进行递归的归并排序;然后将已经有序的两个子部分进行合并,最终完成排序。其时间复杂度与快速排序均为O(nlogn),但是归并排序除了递归调用间接使用了辅助空间栈,还需要额外的O(n)空间进行临时存储。从此角度归 阅读全文
摘要:
HEVC(High Efficiency Video Coding),是一种新的视频压缩标准。可以替代H.264/ AVC编码,使得保持相同质量的情况下,体积减少40%左右。目前有多种实现版本,x265则是其中之一。常用网站: 本文提供一个在Windows平台下的MSYS2环境进行编译x265的方法 阅读全文
摘要:
最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux。虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接手动添加Mingw原生编译工具集。当下git代码托管最为红火,其在win平台所使用的linux模拟环 阅读全文
摘要:
在前面几篇博文中曾经提到链表(list)、队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现。 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据时,优先使用数组。数组可以通过下标直接访问(即随机访问),正是由于这个优点,数组无法动态添加或删除其 阅读全文