自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

(ÒωÓױ)

曾经去过跨越一个小时的地方

  • 博客(37)
  • 资源 (11)
  • 收藏
  • 关注

翻译 (翻译整理)如何简单、高效地使用位操作解决问题

一、引言这是我翻译自 A summary: how to use bit manipulation to solve problems ealily and efficiently 的译文。这篇笔记整理是 LeetCode 第 371 题的讨论区最高票答案,其中整理了有关如何简单、高效地使用位操作来解决问题的方法。其中文章开篇,先将基础的常见的位操作使用方法梳理了一遍,然后晓之以具体事例来进行讲解,

2017-04-28 17:45:13 1450

原创 LeetCode之路:521. Longest Uncommom Subsequence I

LeetCode之路:521. Longest Uncommom Subsequence I一、引言这是一道非常具有模糊性的题目。在做完这道题之后,我翻看了下这道题的讨论区,发现都是一片吐槽的声音,比如下面这位:哈哈哈~~~当看到了这位仁兄这样的言论后,稍微有点同样的心理路程的我也难免露出了会心的一笑。究竟什么样的题目会有如此魔力,来看题目介绍吧:

2017-04-27 18:57:40 923

转载 补码10000000为什么可以表示-128?

一、引言本文转自知乎上 fhylhl 用户对于此同名问题的解答,本人觉得回答得非常鞭辟入里,因此咨询了作者是否可以转载,得到了肯定的回复后才进行了转载。另外,什么是补码?补码的设计意义是什么?让我们忘记公式,来看看作者的回答。二、正文很多人并不理解补码。补码就是同余啊。1000000是正128你知道吧,正负128模256是同余的。加减乘可以直接算也是同余的定理决定的,而不是凑出来的巧合,哪可能凑出这

2017-04-27 13:28:48 12130 10

原创 LeetCode之路:371. Sum of Two Integers

LeetCode之路:371. Sum of Two Integers一、引言这道题非常小巧,题干非常简洁: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Example: Given a = 1 and b = 2, return 3.

2017-04-26 18:14:39 529

原创 LeetCode之路:389. Find the Difference

LeetCode之路:389. Find the Difference一、引言最近几天工作很忙,好不容易闲下来了,来看看这道“惬意”的小题: Given two strings s and t which consist of only lowercase letters.

2017-04-26 00:02:34 366

原创 LeetCode之路:104. Maximum Depth of Binary Tree

LeetCode之路:104. Maximum Depth of Binary Tree一、引言废话不多说,又是下一道题的战斗了: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to

2017-04-23 23:07:47 483

原创 LeetCode之路:448. Find All Numbers Disappeared in an Array

LeetCode之路:448.Find All Numbers Disappeared in an Array一、引言这是一道我做了很久很久很久的题目,做题的过程真的非常非常有趣,有趣到做的过程痛不欲生,明明看似那么简单的问题,却总是做不出来,再到做出了第 1 个解法后的平静,到试探了第 2 个解法后的欣喜若狂,再到后面拼命减少 runtime 减少 extra space 的绞尽脑汁。

2017-04-23 00:37:34 597

原创 有趣的题目:四色着色问题算法研究

一、引言最近,有位朋友有道有意思的题找我看看,正好最近也闲,也就看了看,做了四个多小时,觉得非常有趣。这是一道什么题目呢? 输入一系列字符阵列,将这些字符阵列每一种看做是一个区域,将每个区域进行着色(也就是替换成四种符号显示),要求每个区域相邻之间不能有相同的颜色。题意其实不用深究,看到这里也就大概懂了,我们手上得到了一个二维数组,都是字符的,然后一种字符代表一个区域,然后我们要用四种颜色区分

2017-04-22 02:21:02 8338

原创 VS 高级版本新建的项目如何降级使低版本 VS 可以打开

一、引言这里因为工作的原因,公司项目使用的是 VS2015 的编译环境,但是因为程序员永远是喜欢最新的 IDE 的原因,所以我一直都在使用 VS2017 进行工作。但是最近出问题了,我用 VS2017 新建了一个项目,写了一个小小的 demo ,想要上传到公司项目上去,这时候看到图标我就傻眼了。这时候发现,项目中的图标已经变了,因为之前一直用的 VS2015,所以应该是 VC 版本为 14 才对。这

2017-04-21 15:58:40 26443 1

原创 基于 wke 的浏览器:如何实现 js 和 c++ 的互相调用

一、引言最近,老大给了我一个学习研讨任务,也就是如何让 js 和 C++ 进行互调使用。比如我可以在网页中,使用 js 代码调用 c++ 函数,也可以在 c++ 函数中调用 js 对于界面进行控制。这是为后期的软件接入 Html5 做技术调研。那么如何实现呢?这里需要感谢 Redrain 的博客给Webkit内核的浏览器控件增加互交功能,通过参考他的博客,加之我自己的探索,一步一坑终于完成了这个 d

2017-04-21 12:02:17 17198 2

原创 《算法 第4版》随书 IDE:如何使用 DrJava 来调试 Java 程序

一、引言只要有过一点点想要学习算法的同学们,肯定都了解过这样一本书 算法 第 4 版这是一本奇书,具体好在哪里,我没看完也没有什么可以说的。但是关于这本书的配置环境,还是值得一谈的。这本书使用了 algs4.exe 来一键安装所有的配置环境,这一点必须要点赞。可惜,我们在中国的网络环境下很难配置成功。这一点我通过翻墙来得以解决。另外,这本书推荐了一个免费的 IDE - DrJava 。对于这个

2017-04-20 14:26:11 6183 1

原创 C++11 封装小觑:从 std::array 看 C++11 风格

一、引言最近也正在第二次刷《C++ Primer 5th》这本书,为什么要第二次刷呢?是因为自己仍然写不出自己满意的 C++11 风格的代码。那么这个有点“玄乎其玄”的 C++11 风格到底是什么呢?这是一个很大的话题,这里不予而且我也没有能力去阐述,我只能以我自己看到的一点点小细节来揣测大神们在设计 C++11 的一点点想法。二、C++11 为什么要设计一个 std::array?我们打开 C++

2017-04-19 17:43:04 678

原创 LeetCode之路:520. Detect Capital

LeetCode之路:520. Detect Capital一、引言这道题有关于处理字符的大小写问题,对于熟悉字符的大小写处理函数非常有帮助。这里粘出题目信息: Given a word, you need to judge whether the usage of capitals in it is right or not.

2017-04-18 17:52:31 907

原创 LeetCode之路:136. Single Number

LeetCode之路:136. Single Number一、引言这是一道非常非常有趣,题目要求非常非常简单,做出来也非常非常容易,但是最优解却非常非常令人无奈的一道题: Given an array of integers, every element appears twice except for one. Find that single one.

2017-04-18 15:27:06 329

原创 LeetCode之路:485. Max Consecutive Ones

LeetCode之路:485. Max Consecutive Ones一、引言这是一道比较,怎么说呢,看一眼题目就知道肯定能做出来的题,关键就是怎么编写代码简洁快捷了。这里贴上题目描述: Given a binary array, find the maximum number of consecutive 1s in this array.

2017-04-17 23:54:11 611

原创 LeetCode之路:292. Nim Game

LeetCode之路:292. Nim Game一、引言这是一道非常有趣的题目,有着非常简单的规则,却让我一直没有思考出来,甚至在思考这个问题的同时,还引申到了另一道题上面:台阶问题:斐波那契数列的扩展问题研究,有兴趣了解下的同学可以看看这里。关于这道题,其实这是一个非常出名的游戏,有着不同的版本,LeetCode上面的这个题目是简化的版本。这里直接把原题目粘贴过来:

2017-04-17 22:41:51 371

原创 代码赏析:子窗口对于键盘和鼠标的响应

一、引言首先声明,代码并不是我写的;其次,代码是我在小甲鱼的《Win32 SDK程序设计》系列教程的第41讲中看到的。因为本人一方面在学习这个教程,一方面也对于优美的代码有着自己的独特的爱好,所以在这里书写博客予以分析(代码应该是出于《windows程序设计》第5版的书例代码)。那么这份代码是为了完成什么功能呢?在一个父窗口中绘制 5 X 5 的 25 个宫格的子窗口,其中子窗口以矩形边框显示鼠

2017-04-17 00:12:26 1966

原创 台阶问题:斐波那契数列的扩展问题研究

一、引言还是稚嫩的时候,我们也许都听到或者看到过这么一道题: 有 10 个台阶,你一次能走 1 个或者 2 个台阶,那么请问,走完这 10 个台阶共有几种方式?又或者这道题改个方式问: 有一只青蛙,它尝试跳上有 n 个台阶的楼梯,它一次能够跳 1 阶或者 2 阶,那么请问,它跳上这 n 个台阶共有几种方式?其实,题目的问法有千千万万种,但是题目的核心都没有变。二、让我们来解决引言的问题这

2017-04-13 15:44:23 1176

原创 error LNK2019: 无法解析的外部符号 _GET_X_LPARAM,该符号在函数 _WndProc@16 中被引用

一、引言我们在响应 WM_SIZE 或者 WM_MOUSEMOVE消息的时候,会需要从 lParam 参数中获取到当前客户区的大小啦鼠标的位置信息等等。但是经过查询了MSDN文档后,我们得知,利用LOWORD 和 HIWORD 宏获取位置信息在多显示器的情况下是会有问题的,推荐使用 GET_X_LAPRAM 和 GET_Y_LPARAM 替代之。error LNK2019: 无法解析的外部符号 _GET_X_LPA

2017-04-12 22:09:57 2783 1

原创 如何安装《算法(第4版)》的开发环境

一、引言最近在刷 LeetCode,刷到后面有些力不从心了。发现自己的算法知识掌握的还是不够牢固,很多都已经遗忘了,还有一些是当初学习就没有学好的。这里翻了很久的资料,发现很多人都在推荐《算法(第4版)》这本书,也就是下图这本书了。关于该选择《算法导论》还是《算法(第4版)》的问题也就不再作过多阐述了。看网上大多人的意见都是,先看《算法(第4版)》入门,再看《算法导论》。二、Why Java?!这本

2017-04-12 18:05:11 3373 3

转载 如何使用纯win32函数和C语言实现一个简单的文本编辑器

一、引言在学习小甲鱼老师的Win32 SDK编程的教程的时候,当学到了第35课“插入符号”这课的时候,看到了这个源代码,我实在难掩心头的激动之情。是啊!这不就是一个用纯win32函数和C语言实现的一个简单的文本编辑器吗?!现在的我真的太激动太激动了!跟着教程把代码敲了一遍,还是觉得不够尽兴,还要继续把注释敲上去,觉得还不够尽兴,所以特地来写了一篇博客来好好记录下这份代码。二、这份优雅的代码所实现的功

2017-04-11 23:37:19 10615 6

原创 LeetCode之路:463. Island Perimeter

LeetCode之路:463. Island Perimeter一、引言这道题的题目信息请点击这里查看Island Perimeter。其实我一看到这道题,我就想到了我之前做过的一个五子棋的项目。关于这个项目我还写了一篇博客,可以点击这里查看一个使用纯Win32 SDK和C语言实现的五子棋游戏。这里让我们想想,五子棋的判胜逻辑。五子棋五子棋,顾名思义,就是五个同色的棋子连接成了一条线,则判定胜利。

2017-04-11 18:25:54 756

原创 LeetCode之路:496. Next Greater Element I

LeetCode之路:496. Next Greater 一、引言现在习惯了,不管在 LeetCode 上面做了什么题,都喜欢点开 Discuss 栏目查看其他人写的优美代码的习惯,而且往往(从未不是过)别人的代码总是要比我的代码优美了不止一个境界。对,没错,这道看似简单的题目也是这样。想要了解这道题的同学可以点击这里Next Greater Element I让我们来好好研究下,别人的代码是怎么比我们的代码优美的

2017-04-11 11:17:46 507

转载 <cstdlib> 和 <stdlib.h> 的区别

一、引言最近在学习C++语言,经常发现有 #include <cstdlib> 的 ,也有 #include <stdlib.h> 的。那么这两者到底有什么区别呢?这两者又该选择哪种书写更好呢?二、查看百度百科这里转载一位网友的回复: C语言中是有 #include <stdlib.h>的。 这是C语言标准的包含库头文件stdlib.h的语句。在代码中引用此句后,就可以使用stdlib.h中的函

2017-04-11 09:47:02 11302

原创 LeetCode之路:344. Reverse String

LeetCode之路:344. Reverse String一、引言把所给字符串反转,查看题目详细信息请点击这里Reverse String。二、讨论各个方法反转字符串,简直就是送分题,因为我们的 stl 有一个 std::reverse 方法呀!class Solution {public:

2017-04-10 18:56:33 466

原创 LeetCode之路:412. Fizz Buzz

LeetCode之路:412. Fizz Buzz一、引言这道题的详细信息请看这里Fizz Buzz。二、解决方法其实这道题真的非常简单,要的就是稍微细心点,明确遍历变量跟实际的数字的关系,然后再了解下 int 如何转 std::string 类型就可以了。class Solution {

2017-04-10 17:40:56 9579

原创 LeetCode之路:500. Keyboard Row

LeetCode之路:500. Keyboard Row一、引言这道题的题目信息点击这里获取Keyboard Row。这道题的大概意思就是在给你一堆单词,然后你要在这堆单词中间,检测每个单词是否可以使用键盘上面的三行键盘的一行全部打印出来。二、我的方法看到了这道题,首先映入我脑海的就是 std::set 。std::set 最常用的用途就是用来查找指定的内容是否在内容池里存在了吧。我的思路如下:

2017-04-10 17:21:27 344

原创 LeetCode之路:476. Nubmer Complement

LeetCode之路:476. Nubmer Complement一、引言这道题比较简单,就是求最大32位的整型数的补数。想要看 LeetCode 上这道题详细描述的可以点击这里Number Complement。二、我的方法看到了这道题,我陷入了深深的沉思。 首先,位处理的方法很简单,就是不停地 /= 2 和 % 2,这里就不做太多的赘述了。 其次,如果按照上述的方法来做呢,是不是太复杂了,需要一个循环来遍历。

2017-04-10 14:30:57 453

原创 LeetCode之路:557. Reverse Words in a String III

LeetCode之路:557. Reverse Words in a String III一、引言想要看题目的同学可以点击这里Reverse Words in a String III,这里不再赘述。二、我的方法看到这个题目,要反转字符串中的单词,那么有两个我要考虑的东西:怎么抽离出每个单词?怎么反转每个单词中的字符?对于这两个问题,我分别作出了如下回答:使用 std::string 自带的 find 函数

2017-04-10 12:59:19 983

原创 LeetCode之路:461. Hamming Distance

LeetCode之路:461. Hamming Distance一、引言关于Hamming Distance这道题,想要了解这道题的题目信息的可以点击这里Hamming Distance。这里主要对两种方法进行探讨,其一是我写的方法,另外一个是我在 Discuss 区域看到的非常奇妙的方法。二、我的方法看到了这道题,我首先想到的是,需不需要将两个 int 类型的参数转换为二进制。答案当然是不需要,为什么呢?

2017-04-10 10:41:47 422

原创 简单实现四舍五入的好方法

一、引言我们在编程过程中,总会遇到需要四舍五入的时候,那么该怎么实现这个功能呢?二、新技能Get请看下列伪代码(int)(1.4 + 0.5) == 1;(int)(1.5 + 0.5) == 2;发现了吗?我们只需要将我们计算的对象自动加上一个 0.5 的数值,根据 int 类型自带的地板除法(也就是去尾)的特性,导致我们正好实现了四舍五入的功能。是不是新技能Get了呢!

2017-04-10 00:19:36 911 1

转载 再探win32绘制正弦图像的最优雅方法:DPtoLP

一、引言前面已经讨论了两种win32绘制正弦图像的方法,这里在学习小甲鱼的win32 SDK教程第27课时,看到了更加优雅的方法。使用设备坐标向逻辑坐标的转换。二、讨论三种绘制方案这里附上我之前讨论过的两种绘制正弦图像的方案地址。Win API绘制y = sinx函数图像。再探win32绘制正弦图像的另一种方法:指定映射模式。这里总结如下:第一种方式,不使用映射模式转换,使得我们在计算坐标位置的时候

2017-04-09 15:18:47 1101

原创 再探win32绘制正弦图像的另一种方法:指定映射模式

一、引言之前我就转载过一篇博文,内容大概就是如何利用win32 SDK函数绘制出正弦图像。其中绘制的思路大概是这样的,因为windows默认的设备坐标系统是客户区坐标,即按照客户区左上角为原点(0, 0),以x轴向右,y轴向下,来计算坐标位置的。这样与我们熟悉的数学坐标系不一致,导致了我们费了九牛二虎之力才将不同坐标系之间的坐标进行了转换。想了解这种方法绘制正弦图像的,可以点击这里Win API绘制

2017-04-09 14:36:19 883

原创 电脑显示屏字体发虚、重影、部分清晰部分不清晰解决办法

一、引言自从刚入项目组,拿到了自己的电脑后,就发现显示屏好像有重影的问题。但是一直不知道怎么解决,也一直没有问人。找了好久才找到能解决的办法,这里记录如下。二、解决办法最简单的办法 打开显示屏的设置菜单,选择恢复出厂设置。 此方法一般能解决大部分问题,比如显示字体重影等等。微调的办法 毕竟是恢复出厂设置,不一定能适合自己的眼睛。这里可以看看设置菜单里面的项目,其中可以调整下“相位”这一栏,

2017-04-07 17:42:03 55993 2

原创 chrome主页被毒霸网址大全劫持解决办法

一、毒霸,呵呵呵呵其他的话我也不说了,大清早过来发现chrome主页居然被毒霸网址大全给篡改了。我一个程序员就这么被一家无良企业欺负了。。。这也太窝囊了吧。。。网上搜了好多好多方法,还有什么叫我走逆向分析dll看代码什么的,太复杂了。二、问题解决,居然是最后问题还是解决了。在chrome的快捷方式上右键,以红色框的格式输入你想要设置为主页的网址。保存后重新打开果然问题解决。

2017-04-05 16:36:54 23729 3

原创 windows平台Markdown怎么转换成Word

一、引言最近项目组开始增加了书写文档的需求,已经习惯了使用Markdown记录笔记的我,让我使用Word去写文档,显然是一种折磨。喜欢Markdown在书写的时候一气呵成的感觉,不需要使用鼠标的快感。但是项目的文档需要是Word格式的怎么办呢?那么就需要把Markdown转换成Word了。二、使用Typora将Markdown转换成Word的方法有千千万万种,我这里只说我实现的这种。Typora是一

2017-04-05 16:05:22 17597 3

原创 获取并编译最新的Notepad++源码

一、引言我们在写代码的时候,最喜欢使用一些代码编辑器来编写一些轻型的代码文件,这里比较经典而且用户很多的就是Notepad++了。Notepad++是一款非常简洁轻巧功能非常强大的开源软件,那么只要有一点点开源精神的、并且想要见识下C++11代码风格的程序员,必然就会有想要拿到Notepad++的源码并进行编译的想法,这里我当然也不除外。 基于好奇心害死猫的想法,我开始了Notepad++的源码获

2017-04-01 19:08:35 12784 11

Windows Terminal 编译出来的发布包(这是 UWP 程序,要求系统必须是 1809 及其以上)

微软最新公布出来的 WIndows Terminal,其在 GitHub 上的地址是 https://github.com/microsoft/Terminal,很多人都不知道怎么编译(包括我)。这里看到一位仁兄编译出来一个发布版,但是要求非常高,需要 Win10 1809 以上的系统才能运行。另外,这是个 UWP 软件,与一般的 exe 软件不同。

2019-05-07

Ubuntu 18.04 离线安装 docker17.05.0-ce 安装包

Ubuntu 18.04 离线安装 docker17.05.0-ce 安装包,亲测成功: 安装步骤: 1. 将本文件夹中的 4 个文件放到 Ubuntu 任意一个文件中(一般用户目录下) 2. 运行这行命令离线安装 docker: dpkg -i *.deb 3. 运行这行命令验证 docker 安装成功: docker version

2018-05-23

The docker book (2017 年 3 月版) (对标 docker 版本 v17.03.0 )

The docker book (第一本 docker 书英文版原著),2017 年 3 月更新版本,对标 docker 版本是 v17.03.0 版本。目前 2018 年 5 月 22 日这本书的最新版本已经是对标了 docker v17.12.0 版本了,倒是可以在官网上购买,也不是很贵,10 美元的样子,但是看看这本也不赖,毕竟也只差了一年多的版本而已。对于新人入门,不需要追求死死追着新版本走,拿一个稍微新的版本好好学完了之后,再去官网社区更新下最新的更新也不是不可以的。

2018-05-22

深入浅出 Windows 10通用应用开发 林政著

《深入浅出 Windows 10通用应用开发》,文件 100 多 M,虽然不如文字版的 PDF 高清,但是仅供学习使用还是够用了。 希望各位网友在学有余力之余,还是尽量支持下正版书籍,也算抵消一点我的归咎之心:)

2018-01-05

Wireshark 数据包分析实战 第2版 (绝对高清108M扫描版)(无目录)

《Wireshark 数据包分析实战 第2版》,绝对高清 108M 扫描版,但是不带目录。 曾经为了学习 Wireshark 在网上下载了好多资源,包括 CSDN 的下载量最高的那个资源,其要么是拍照拍出来的,要么是清晰度不够,都很影响阅读体验。 而这份绝对是我找的那么多资源中,唯一一个清晰度最高的,阅读体验最好的。 Enjoy it :)

2017-12-19

Head First Design Patterns 随书附带源代码

Head First Design Patterns 随书附带的源代码文件。 虽说看书敲代码比较好一些,但是拥有这么一份代码随时查看也是挺好的。

2017-12-19

AS SSD Benchmark

可以用来测试 SSD 速度,以及检查是否 4K 对齐,还是很好用的:)

2017-11-13

2017-3-25最新Notepad++源代码

这是我最近在Github上拉取到的2017-3-25的最新的Notepad++的源代码,不方便的同学可以下载我的资源进行学习。

2017-04-01

支持VS2017的vax插件VA_X_Setup2210

亲测可用!!!亲测可用!!!亲测可用!!! 可用的事情说三遍!!! 搜索C盘VA_X.dll,替换掉*/15.0/*路径下的VA_X.dll文件即可 其他教程说需要卸载之前的版本 我测试是,只要你当前的vs版本没有安装vax插件,就可以不用卸载vax之前的版本

2017-03-16

opengl游戏编程

opengl游戏编程 美版 我看了自我感觉不错 啊哈 哈哈

2014-03-27

空空如也

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

TA关注的人

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