- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 深入剖析智能指针 shared_ptr
在effective C++经常会提到智能指针,这里对shared_ptr进行一个总结:1 简要介绍用法智能指针主要是用于资源管理,当申请一个资源的时候为了保证在离开控制流的时候对应资源应该得到相应的释放,这个时候如果资源对应一个类,在构造类的时候进行资源的分配(也就是书中经常提到的Resource Acquisition Is Initialization RAII),在对象离开作用域
2015-01-13 15:21:43 1670 1
原创 LeetCode—*Fraction to Recurring Decimal
Given two integers representing the numerator and denominator of a fraction, return the fraction in string format.If the fractional part is repeating, enclose the repeating part in parentheses.
2015-01-30 14:24:22 896
原创 LeetCode—Compare Version Numbers
Compare two version numbers version1 and version1.If version1 > version2 return 1, if version1 version2 return -1, otherwise return 0.You may assume that the version strings are non-empty and co
2015-01-29 17:47:26 731
原创 LeetCode—Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority element
2015-01-29 14:47:49 89
原创 LeetCode—Excel Sheet Column Title
Given a positive integer, return its corresponding column title as appear in an Excel sheet.For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 这里就是一个将
2015-01-28 14:28:27 681
原创 LeetCode—Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.题目是非常简单的,计算一个数字递归相乘后末尾0的个数在相乘出现2*5才有可能出现0,2一般是足够的,主要是5的个数,因为是阶乘,
2015-01-28 11:37:22 671
原创 C++ 中int,char,string,CString类型转换
1. c++中string到int的转换1) 在C标准库里面,使用atoi:#include #include std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小
2015-01-28 10:50:37 1405 1
原创 LeetCode—Largest Number
Given a list of non negative integers, arrange them such that they form the largest number.For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.Note: The result may be ve
2015-01-28 10:48:13 904
原创 7 两个栈模拟队列,两个队列模拟栈
利用两个栈模拟队列stack1,stack2首先向stack1当中放入数据,如果需要输出数据,从stack2中delete数据,如果stack2为空,就把stack1中数据导入stack2#include "static.h"#include #include template class CQuue{public: CQuue(){}; ~CQuue(){}
2015-01-12 18:51:55 1052
原创 完整类实现:构造,析构,遍历二叉树
根据前面一个博文内容已经讲述了如何根据两种遍历方式进行构建二叉树这里利用递归方式遍历二叉树,递归方式比较简单,后续补充其余非递归方式再此主要是完善类的使用:其中重点在于:接口定义二叉树的析构删除以及类成员变量中如果有指针,同时涉及复制构造函数和赋值操作符函数时需要用到的智能指针如果接口方面定义不够好,还望包涵.h文件#include #include #incl
2015-01-11 01:08:02 4731
原创 剑指offer面试题6 前序遍历&中序遍历,后序遍历&中序遍历重构二叉树
重构二叉树目前主要是采取递归的方式目前只能通过前序,中序 或者 后续,中序进行重构前序和后序是不能够重构的,举个例子: 前序: 1 2 4 7 3 5 6 8 后续: 7 4 2 5 8 6 3 1 是无法判断出7是节点4的左孩子还是右孩子的首先讲解利用前序和中序进行重构 前序: 1 2 4 7 3 5 6 8 中序: 4 7 2 1 5 3 8
2015-01-10 21:58:35 1830
原创 剑指offer面试题5—反向打印链表
反向打印一个链表链表不同于数组,内存并不连续,通过节点之间的指针进行连接,逆向打印的时候可以利用栈的特点,比较简单#include "static.h"#include #include using namespace std;struct ListNode{ ListNode * pNext; int Value;};int main(){ stack N
2015-01-09 16:29:20 691
原创 剑指offer面试题4—替换空格
题目比较简单,把字符串中的空格替换为相应的字符串如果从前开始循环替换,每移动一个元素,后面的数据都需要移动,因此选用的方法应该是从后面行前替换#include "static.h"#include using namespace std;void ReplaceBlank(char *Src, char *transString,int Length){ int transSi
2015-01-09 15:34:17 666
原创 Static成员变量,static成员函数解析
最近看Effective C++经常看到一些和static相关的内容,希望综合整理一下,如果有不全,还望补充:1 类中的Static成员变量static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!一般为类申请一个对象,是对类中成员变量申请一个副本,各个对象之间的成员变量和函数互不
2015-01-08 20:18:07 1602
原创 HEVC-I帧中CU,TU,PU之间的关系
这里主要是结合HEVC的解码端I帧进行讲解的,其中P,B帧基本上没有太大的出入,主要是PU还存在不规则的情况,因为我现在刚做完I帧,对P帧还没有把握之后清楚解析后,再进行补充在之前的博文中提到了编码树结构的相关概念,这里主要结合代码进行进一步的讲解在帧内模式中:35中预测模式是在PU的基础上进行定义的,但是在具体的帧内预测过程中是以TU为单位的,标准规定PU可以四叉树的形式划分为T
2015-01-08 16:14:25 7357 3
原创 解析 指针数组,数组指针,函数指针
一 :关于指针和堆的内存分配 指针数组 : 一个数组里放的都是指针,我们把他叫做指针数组int * a[10]; 由于它是一个数组,他是不能从堆空间里申请空间的。 只能做个循环,每个元素去申请空间,或者每个元素去指向另外的地址空间。 数组指针 : 一个指向一唯或者多唯数组的指针; int * b=new int[10]; 指向一唯数组的指针b ; 一些例子:
2015-01-06 21:07:56 766
转载 sh_脚本基本语法
介绍:1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编写脚本完成时,如果要执行该脚本,还必须使其可执行。要使编写脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行2
2015-01-06 15:01:16 762
原创 HEVC残差系数解码代码详解
上一篇中主要介绍了编码中的原理,这里主要是结合HM中的代码介绍读残差系数的方法HM变换系数熵解码简介: 初始一个TU对象成员变量介绍: public: typedef enum TU_SPLIT_MODE { DONT_SPLIT=0, VERTICAL_SPLIT=1, QUAD_SPLIT=2, NUMBER_OF_SPLIT_MODES=3 } SPLI
2015-01-05 18:03:26 3116 6
原创 HEVC变换后残差系数编码原理
变换系数熵编码简介:变换系数的扫描是基于4*4大小的子块进行的,子块和子块内部递归扫描。较大的TB首先被分割为多个4*4子块,扫描一般起始于最后一个系数,终止于DC系数,扫描包括子块的扫描和子块内部的扫描。每一个子块内的扫描方式都是一样的。三种扫描方式:对角,水平,垂直 编码过程:非零系数位置信息编码:1 最后一个非零系数的位置:扫描最后一个非零系数在TB中的位
2015-01-05 17:48:55 4623 1
原创 linux下压缩,解压缩命令
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.r
2015-01-04 22:15:54 872
转载 推荐系统好的开源项目列表
我收集和整理的目前互联网上所能找到的知名开源推荐系统(open source project for recommendation system),并附上了个人的一些简单点评(未必全面准确),这方面的中文资料很少见,希望对国内的朋友了解掌握推荐系统有帮助陈运文 SVDFeature由上海交大的同学开发的,C++语言,代码质量很高 。去年我们参加KDD竞赛时用过,非常好
2015-01-04 21:59:17 3223
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人