Leetcode_324_wigglySortII高质量C++代码

        这道题是Google的面试题,参照WigglySortI,本质就是一个坐标映射,只是中位数有等号,映射时候需要小心,博主第一版代码直接用Sort排序,代码击败65.8%,然后参照大牛代码,使用三路快排,速度已经提起来了。和大牛的代码不同的是,大牛采用高大上的宏函数做坐标映射,博主比较笨,理解那个映射公式花了些时间,索性就用了第一版代码的坐标映射,单独写了一个for循环。大牛代码103ms,博主代码102ms,所以坐标映射部分开销是差不多的,可见代码核心还是在三路快排(三指针)上。

阅读更多

Intel IPP库配置教程

        了解OpenCV的同学应该都对IPP加速有所耳闻,IPP库是Intel的加速库,其中集成了多种高性能的操作,基于CPU庞大复杂的指令系统,对程序做并行优化非常有帮助(有点类似于DSP上的数学库),相比之下,另一种并行加速方式openmp就显得捉襟见肘了。这篇博客将帮助我们配置IPP库。

阅读更多

leetcode_Combination Sum II笔记

        Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. Each number in C may only be used once in the combination. Note: All numbers (including target) will be positive integers. The solution set must not contain duplicate combinations. For example, given candidate set [10, 1, 2, 7, 6, 1, 5] and target 8, A solution set is: [ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6] ]

阅读更多

leetcode_4Sum笔记

        Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target. Note: The solution set must not contain duplicate quadruplets. For example, given array S = [1, 0, -1, 0, -2, 2], and target = 0. A solution set is: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]

阅读更多

实时超像素分割IER方法(CSEO方法)

sgs2        这篇博客介绍博主事先的CSEO超像素分割方法,CSEO法是目前已知最快的超像素分割算法,可以在640*480*3大小的图像上达到38ms的速度(使用单核CPU@2.5GHz),并且分割区域数与时间无关,是目前超像素分割领域的state-of-art。

        OpenCV内封装了主流的SLIC算法,当然,无法实时。这篇博客由于客观原因不提供源码、原理解释,只提供一些论文索引和博主的实验结果,仅供研究者参考。

        博主使用Kinect摄像头采集图像数据,将采集的四通道数据转换为三通道数据,然后缩放至920*540(原图为1080p),采集图像和超像素分割在同一个线程中,最终速度为48ms,如果使用640*480,将算法部分从主线程中分离出来,达到论文中所说的38ms是可能的。

阅读更多

TensorFlow学习笔记(二)——基于图会话数学运算工具

        TensorFlow使用图来表示计算任务,图中的节点被称之为op(operation的缩写)。TensorFlow程序通常被组织成一个构建阶段,和一个执行阶段。在构建阶段,op的执行步骤被描述成一个图。在执行阶段,使用会话执行图中的op(op就是节点)。简单的说,先给出描述,只在run()方法中执行操作。

阅读更多

Qt实现Metro风格界面:拖动无边框窗口

        Qt的GUI功能非常灵活,Metro风格也越来越受欢迎,那么如何使用Qt实现一个Metro风格的界面?

        有两点最重要:一是使用Metro风格的素材,二是加入Metro风格的控制。博主近期将之前写过的一个Metro风格的框架开源了,你只需要下载源码,继承QMetro类就可以实现自己的Metro风格界面了。首先,确保你的Qt版本在5.2以上,那么,我们开始吧。

阅读更多

SyntaxNet:Neural Models of Syntax 自然语言神经网络框架

        SyntaxNet由TensorFlow实现,本月Google正式开源了这一框架(GitHub),关于这一框架,我们可以参考相关论文。在准备完NPL的基础知识后,博主将在这篇博客介绍这篇论文:Global Normalized Transition-Based Neural Network。该架构的资料还来自谷歌研究博客

阅读更多