自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 { C++ 模板元编程笔记 } 编程技巧

文章目录一些常用的alias通过 is_void 的几种实现,讲解常见的元编程方法1. 通过继承和特化 - inheritance + specialization2. 委托给其他代理类3. 使用多个参数进行推导 - parameter pack非求值操作 - unevaluated operands检测某种类型是否可以进行拷贝赋值操作的元函数检查是否存在 T::type 的元函数检测某种类型是否可以进行拷贝赋值操作的元函数,另外一种实现一些技巧的总结基于 Walter E. Brown 的演讲 - Mo

2022-03-20 16:43:47 1270

原创 { C++ 模板元编程笔记 } 基本原理

文章目录总结的内容返回值的元函数元函数的递归入参是类型的元函数返回类型的元函数元函数中的条件分支enable_if 实现原理备注信息访问 ::value 的几种方式基于 Walter E. Brown 的演讲 - Modern Template Metaprogramming (1)示例代码可以贴到 www.onlinegdb.com 直接运行,需要选择C++17总结的内容元编程中最主要的两个变量就是 ::value 和 ::type递归是通过偏特化定义终止条件来实现的返回值的元函数C++

2022-03-12 10:54:37 1424

原创 hash code

看似简单题,其实里面还是有讲究的In data structure Hash, hash function is used to convert a string(or any other type) into an integer smaller than hash size and bigger or equal to zero. The objective of designing a ha

2016-06-19 21:47:35 362

原创 二叉树层序遍历

主要流程确定root非空根指针进队列队列非空就一直循环     依次扫描目前队列中所有元素(新增的不算)          从队列取出第一元素          将值放入结果vector中          判断左右子节点非空,并依次入队     将本次结果放入二维数组中如果需要按层逆序输出的话,在这里将二维结果倒排一下返回二维结果

2015-10-17 17:40:54 436

原创 二叉树后序遍历

确定root非空设prev指针为空根入栈栈非空就一直循环     取栈顶元素到cur,但不出栈     检查该节点是否没有左右孩子,并设标记     检查cur的左右孩子是否与prev相同,确定子节点是否已访问     若没有子节点,或子节点已处理          cur值放入结果中          栈顶元素出栈          将当前值付给p

2015-10-17 17:39:24 371

原创 二叉树中序遍历

(就是中序不需要,根指针压栈,也不需要事先判断根指针非空)栈非空或者根指针非空就一直循环     若根指针非空          根指针压栈          根指针向左移动     否则          元素出栈放入根指针          将值放入结果中          根指针向右移动返回结果 vector res;

2015-10-17 17:38:13 409

原创 二叉树前序遍历

前序遍历,就是 根-左-右 的顺序。有递归和非递归的解法,递归还分遍历和分治两种解法,下面直接给出代码递归遍历的解法,最直观的代码,这里需要辅助函数vector preorder(Tree* root) { vector res; preoder_rec(root, res); // 不需要判NULL,函数内部会处理 return res;} void preor

2015-10-13 20:42:06 390

原创 Product of Array Except Self

Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division an

2015-10-11 22:29:36 486

原创 reverse words in a sentence

题目要求反转句子中每个单词的顺序,单词简单的以空格分隔inputHow are you?outputyou? are How想到的测试用例1. 首位有空格,目前结果中,首位也会有空格2. 连续空格的情况,目前结果也会有连续空格3. 单词只有一个字母4. 输入为空串解题思路两次反转,第一次反转整句话,第二次反

2015-10-11 21:11:42 429

原创 面试手写代码的一些经验

手写代码,指完全脱离计算机,用笔纸进行编码,有这些好处1. 面试需要2. 能完全静下心来,专注思考建议步骤1. 理解题目,思考问题的非法输入(空指针,空字符串),特殊条件(数组仅包含一个项目,除零)。需要与面试官讨论,或者在代码前部判断去除2. 想到解法以后,写出关键步骤伪代码,防止细化的时,精力分散,遗漏一些步骤3. 编码4. 一定要耐心再次检查,花不了多少时

2015-10-11 21:06:17 4378

原创 KMP算法中next数组的手工计算方法

笔试题目中经常要求计算KMP算法的next数组,网上有很多讨论的文章,但是感觉都讲的不太清楚,特别是在如何手工计算这一方面,所以今天特别整理了一下放到这里,一来备忘,二来也希望给有缘人带来一些方便。 位置编号 1 2 3 4 5 6 7 8 字符串 a b a a b a c a next数组 0 1 1 2

2015-08-05 22:01:59 16984 15

原创 矩阵蛇形填充

要求将制定矩阵蛇形填充,最后结果如下 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4如果不仔细考虑的话,代码可能是这样的 代码啰嗦,而且还是不正确的 指针回调时,边界在不断缩小的,所以固定判断-1和n是不正确的。 int m = 0; int x = n - 1; int y = 0; while (m < n

2015-06-30 11:35:56 572

原创 输出任意精度的除法结果

double类型是有精度限制的,输出任意精度,需要自行计算,步骤如下:输出a/b的整数部分,然后小数点,并记录余数x输出10x/b的整数部分,并更新x=10x%b不断重复步骤2,知道满足精度要求另外一个技巧,一下的printf语句,可以在参数中修改格式字符串。m和n将替换格式字符中的*printf("%*.*f", m, n, number);#include "stdafx.h"int a

2015-06-29 21:07:50 689

原创 数字逆序输出

输入一个32位整数,要求逆序输出

2015-06-29 12:17:14 583

原创 Ace of Aces

Ace of Aces

2015-06-28 22:00:01 619

原创 Windows环境下安装Android Studio

其实,这个有什么好写的,不就是下载,安装,运行嘛!可事实上,还真没有那么顺利,有几个地方需要折腾一下才能安装成功。下面随手记录一下,自己备忘一下,如果正好能帮上其他人,那是最好了!1. 使用下面的链接,下载并安装JDK。注意是JDK,不是JRE,也不是server JREhttp://www.oracle.com/technetwork/java/javase/downloads/

2015-01-18 20:40:27 876

原创 苹果和SONY的反思

同样走高端精品路线的两家公司,现在iPad满大街都是,MBA出镜率也很高,但SONY却不得不出售VAIO。为什么有这样的结局呢? 先看传统的PC业务,这个方面来讲的话,苹果的品种还单一一些,SONY历年来研发了不少产品,其中有很多非常超前的设计,下面的网站有罗列http://digi.163.com/14/0208/13/9KIIQBJM00161MAH.html。 在SONY的设

2014-02-10 22:36:35 919

原创 WinDjView对AfxMessageBox的定制

CWinApp::DoMessageBox这是MFC框架内部调用的函数,不要直接调用这个函数。重载这个函数可以定制AfxMessageBox的处理。WinDjView通过定制这个函数,为对话框添加checkbox等功能。大致的流程是这样的:1. 重载DoMessageBox函数,在其中调用另外一个自定义的DoMessageBox函数(参数列表不同)2. 在自定义的DoMessageBox中,先使用SetWindowsHookEx设置一个WH_CBT类型的hook,用于监控之后的对话框创建过程。3. 调用CW

2011-03-19 08:53:00 611

原创 word press 配置备忘

1)关于wordpress中永久连接的配置,如果修改默认设置的话,那么会提示需要修改.htaccess文件。这个文件缺省安装是没有的,如果需要的话,自行在blog的根目录(不是web的根目录)中建立,使用wordpress提供的内容即可。2)关于wordpress中时区的设置,正确设置以后所有的信息都会以本地时间来表示。比如在其他时区的访客在你的博客上留言,那么系统记录的时间是本地时间。这个修改只对后面的事件起作用,原来记录的时间是不会更改的。3)安装theme时提示需要ftp密码一般上传到web服务器后会

2011-02-18 12:15:00 433

原创 mac系统搭建android开发环境

android的开发环境建立起来步骤比较多,很零碎。网站找了一篇文章相当详细的,基本上是按照他的步骤来安装的。http://hsu-steven.blogspot.com/2010/11/mac-os-x-android-sdk.html需要补充的一些内容:sdk的下载地址是:http://dl.google.com/android/android-sdk_r09-mac_x86.zip.bash_profile修改后,需要重启terminal才会起效。安装ADT插件的时候别忘了安装DDMS。另外,安装过程

2011-02-14 21:52:00 1152

原创 mac os x搭建iPhone开发环境

首先到apple的网站下载iphone sdk,这个文件中包含了xcode和sdk。安装sdk的时候,报告系统至少要是10.6.4。现在最新的系统是10.6.6。好,那就使用系统提供的software update进行升级。下载完成之后,进入安装界面,就是什么菜单,按钮都没有,仅仅在桌面上有一个小的对话框,上面显示进度条。结果那个进度条在1/3的地方,不动了。耐心等了4-5小时,还是那样,强行关机了。查了一下,说是建议手动更新。于是到apple网站,手动下载update包。下载的时候注意一下软件包要求的系统

2011-02-14 21:01:00 837

原创 xp发传真

帮一个朋友要发传真,我也没有传真机,就用想到用xp模拟一下。上次使用xp发传真大概是5年前,尝试过使用xp自带的软件,安装后感觉是一个类似email的界面,没理解怎么使用。所以还是安装了一个很旧的winfax软件,直接了当的发送传真。现在winfax好像还在,但是界面好像不是从前的那个,用了一下感觉费劲。所以还是使用xp自带的软件,这次好像理解了,感觉还是比较简单的。特此记录一下,估计5-10年后会用到。(那时还有xp吗?)关于使用,最主要是要认识到,不是通过那个控制台界面开始发送传真的,那里只是检查的时候

2011-02-14 20:48:00 754

翻译 Preferred Domain

我原来一直以为下面两种形式的URL写法是完全相同的http://www.example.comhttp://example.com 但事实上,他们是不相同的,在可能的情况下可以指向不同的地方。另外,最重要的一点,Google搜索引擎也认为这是两个不同的地址。这样的结果就是,如果你在网站内部的连接中混用上述两种形式的写法,如果别的网站指向你的连接也混合使用了两种写法,那么针对这两个不

2010-04-16 09:03:00 436

零基础学习hadoop到上手工作线路指导-编程篇

1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码?

2015-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除