自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 [机械键盘]Filco87 奶酪绿 FKBN87MRL/ECW2 开箱

关于键盘要算有点价值的键盘,这是第四把了。之前买的第一把就是Cherry的机械键盘王者3494。到后来觉得键盘太大了,换了第二把PokerII,再到后来觉得有线键盘比较舒服,又中意ThinkPad的小红点,于是入手ThinkPad的小红点蓝牙键盘,这个键盘是充电式,而不是上电池的,蓝牙得非常纯粹,但是这个键盘和ThinkPad笔记本上的键盘手感完全不在一个档次。到现在,都说Filco好,又因为很后悔

2017-02-12 17:54:20 2305 1

原创 [Orange‘s:一个操作系统的实现]第一天:环境配置

前言:环境介绍电脑:Macbook Air 2014年早期版 系统:OS X 10.10.3虚拟机:由于在Mac上编译Bochs一直不通过,原因在sourceforge上有说:sourceforge.net/p/bochs/bugs/1344 /1360,这两个地址说他们的程序员没有开发mac下的,所以会编译不通过。我不想多折腾,用VirtualBox,同时也是免费的。去官网下载VirtualBo

2015-04-28 16:33:06 1494 1

原创 [十天学会Linux Shell]第一天:小试牛刀

十天学会Linux Shell系列文章,在看完之后让你的工作效率提升不少。

2015-04-23 21:20:59 705

原创 2015年找实习心得&总结

1、CVTE一家做电视的公司吧?给的福利很好的样子,不过对招的人没什么要求,我们这个专业好多人去了。那天下午在大学城中心酒店咖啡厅面试,人很多,等了快两个小时。进去一个面试官对3个人。 进去自我介绍,然后讲自己感觉最好的项目,然后问会有什么原因让你不能来实习。 这个过去太久远没有什么好说的,感觉他是不想招我们,我们在官网上还做了45分钟的题目。后来只有实验室一个做java的收到了第二天的技术笔试

2015-04-07 21:43:58 985

原创 [LeetCode OJ]Symmetric Tree

Symmetric Tree这题在剑指Offer上有,思路也是采用书上的。使用两个遍历顺序,两个顺序是对称的。这样就是实现了判断对称与否,一个使用先序,一个使用先序中先遍历右子树。代码如下: bool isSymmetric(TreeNode *root) { return isSymmetric(root, root); } bool i

2015-04-01 20:25:08 504

原创 [LeetCode OJ]Valid Number

Valid Number我的思路:1、这题是判断一个字符串是否是一个数字。这题在剑指Offer上有,我这边的代码主体是参考了那上面的,针对LeetCode的另一些特殊情况,有修改。2、思路如下:如果是空字符串,返回否。接着,跳过前面的空格,如果当前字符是正负号,那么下一个,如果结束了,就返回错误,没有就去扫描数字的长度,接着扫描空格的长度,如果没有空格,而且没有结束,判断是否是

2015-03-31 21:07:26 504

原创 [LeetCode OJ]Min Stack

Min Stack我的思路: 1、最小栈要求能在O(1)时间内取到栈内最小值。 2、定义两个栈,一个用来保存最小值。在入栈的时候如果当前值比最小栈的值还要小就Push,如果不是就算了。在出栈的时候,如果出栈元素等于最小栈栈顶元素,最小栈也出栈,否则算了。public: void push(int x) { if (!data.empty()) {

2015-03-11 10:28:16 515

原创 [LeetCode OJ]Length of Last Word && Excel Sheet Column Title

Length of Last Word1、计算最后一个字符的长度 2、两个指针移动。 int lengthOfLastWord(const char *s) { int p1 = 0, p2 = 0, ans = 0; bool flag = false; while (s[p1] != '\0') { if (!fla

2015-03-11 10:22:18 570

原创 [LeetCode OJ]Count and Say && Valid Palindrome && Longest Common Prefix

Count and Say 我的思路: 1、数着说,1叫做11,11叫做21(两个1),接着往下数21叫做1211,不断往下数n代,求结果。 2、刚看到Discuss区一个5ms的有3个赞同,我的2ms。 string countAndSay(int n) { string ans("1"); if (n == 1) return a

2015-03-11 10:13:23 398

原创 [LeetCode OJ]ZigZag Conversion && Valid Sudoku && String to Integer (atoi)

ZigZag Conversion我的思路: 1、将一个锯齿状排列的字符串拉成一条线,输入到一个新的字符串中。 2、只要弄清楚循环的特征,算好nRows的变化给循环带来的变化,还是很容易完成。 string convert(string s, int nRows) { string ans; for (int i = 1; i <= nRows; i++)

2015-03-11 09:51:17 495

原创 [LeetCode OJ]Implement strStr()

Implement strStr()我的思路: 1、实现字符串匹配算法。 2、我知道比较出名的是KMP算法,在算法导论上有。 3、思路是先算出needle字符串中相同前缀后缀的长度,然后在主函数中依据这个信息来加速匹配过程。class Solution {public: int strStr(char *haystack, char *needle) { int hl

2015-03-11 09:01:15 468

原创 Number of 1 Bits && Rotate Array && Reverse Bits

Number of 1 Bits我的思路:1、这题是找出一个二进制数中有多少个1。2、我想是和1相与,然后循环移位一直32次,让一个数来计数就可以了。代码如下: int hammingWeight(uint32_t n) { int ans = 0; int i = 32; while (i--) {

2015-03-10 21:01:34 463

原创 Compare Version Numbers

Compare Version Numbers 思路: 1、比较版本的题目。 2、用”.”来判断数字,写一个用来处理中间数字的函数。当两个字符串都到达末尾的时候就结束。class Solution {public: int compareVersion(string version1, string version2) { int i = 0, j = 0;

2015-03-02 16:36:45 399

原创 Rotate List

Rotate List 我的思路: 1、将一个链表旋转,这个和找出倒数第几个数差不多。 2、改成循环链表,得到链表长度,便可以得到结果。ListNode *rotateRight(ListNode *head, int k) { if (head == NULL) return head; ListNode *tail = head; int len =

2015-02-14 15:30:30 412

原创 Insertion Sort List && Remove Duplicates from Sorted List II && Intersection of Two Linked Lists

Insertion Sort List1、插入排序,用了个头节点。2、天气太冷,冻得写出来的代码就是翔。 ListNode *insertionSortList(ListNode *head) { if (head == NULL) return NULL; ListNode *p = head->next;

2015-02-04 17:38:42 598

原创 Remove Duplicates from Sorted List && Merge Two Sorted Lists && Linked List Cycle && Remove Nth Node

Remove Duplicates from Sorted List1、已排序的链表删除相同的数据。 ListNode *deleteDuplicates(ListNode *head) { ListNode *p = head; int temp; while (p != NULL) { te

2015-02-03 17:05:43 535

原创 Single Number && Single Number II && Factorial Trailing Zeroes && Pow(x, n) && Add Two Numbers

Single Number1、异或交换性质 int singleNumber(int A[], int n) { int ans = A[0]; for (int i = 1; i < n; i++) ans ^=A[i]; return ans; }

2015-02-01 22:00:32 540

原创 Excel Sheet Column Number && Roman to Integer && Integer to Roman && Reverse Integer && Palindrome N

Excel Sheet Column Number我的思路:1、进制转换。代码如下: int titleToNumber(string s) { int ans = 0; for (int i = 0; i < s.size(); i++) ans = ans * 26 + s[i] - 64;

2015-02-01 14:38:35 497

原创 Search a 2D Matrix

Search a 2D Matrix我的思路:1、在一个排好序的二维数组中找目标数,返回成功或者失败。2、二分查找,首先在列上找值,定位到哪一行之后,在行内二分查找。复杂度是log(n) + log(m)。代码如下: bool searchMatrix(vector > &matrix, int target) { int n = matrix.size(

2015-01-31 16:19:36 423

原创 Rotate Image

Rotate Image我的思路:1、顺时针将n * n的矩阵在旋转90度,空间复杂度O(1)。2、双重循环,单个循环内将每条边的数据赋值,使用一个临时变量保存最后一个要赋值的数据值。3、写好每个控制变量,6ms过,讨论区还有一些其他方法,都差不多。考虑好矩阵旋转的特性。代码如下: void rotate(vector > &matrix) { in

2015-01-30 20:08:29 639

原创 Majority Element

Majority Element我的思路: 1、题目要求:找出一个vector int型数据中出现的大于n/2的数,假如5个数,该数出现至少3次,如果是4个数也是,因为要比n/2大。这个数一定存在。2、别人思路1:每次找两个数,成对删除,最后剩下的那一个(两个)数一定是要找的数。想想vector删除数的操作,这个是比较麻烦的,虽然现在还没看过源码,但是想想也知道,这个比nlog

2015-01-30 17:58:25 491

原创 各品牌机械键盘分析

由于最近一直想入手一款87或84键的键盘,找了好几天不知道要买哪个牌子的。这里记录我所知道的一些机械键盘信息。----------------------------这里是前言分割线----------------------------------------------首先,这篇文章主要是用于自己买键盘分析,而且资料都来源于网上,难免有些出入。如果想买键盘的朋友,也可以参考这篇

2015-01-02 15:31:02 2970 2

原创 Container With Most Water

Container With Most Water我的思路:1、给一个数列,每个值相当于长方形的高,一个数列相当于有很多条高,求出最大的面积是多少?2、这里也是想到了两个指针往中间移动,但是写的代码非常复杂。思路非常混乱。不忍直视,下面是没有通过的代码: int begin = 0, end = height.size() - 1, low = height[begi

2014-12-09 20:53:26 507

原创 Find Peak Element

Find Peak Element我的思路:1、这题没看明白,题目是说找一个数组中的峰值元素,只要这个数比两边的数都大就算,数组中没有重复的数。2、题目要求用log(n)算法,我没想,就用两个指针,从两边一起扫描,看起来快一倍,其实是一样的。3、log(n)算法分析:如果是上坡也及时if判断成功,那说明峰值在mid + 1或者之后,如果在else那么峰值在mid或者之后

2014-12-07 20:13:45 735

原创 Find Minimum in Rotated Sorted Array && Find Minimum in Rotated Sorted Array II

Find Minimum in Rotated Sorted Array我的思路:1、在一个旋转数组中找到最小的那个数,只需要找到旋转的那个点就可以了。特殊情况没有旋转或者说旋转点在-1这个下标,返回num[0],如果只有一个数也返回num[0]。2、由于没有重复的数,设定两个下标,从两头往中间找。当左边的值比右边小的时候停止循环。3、如果begin == end,说明

2014-12-07 19:18:19 469

原创 Search in Rotated Sorted Array && Search in Rotated Sorted ArrayII

Search in Rotated Sorted Array我的思路:1、在一个没有重复数字,已经排序好的,旋转过的数组中找到一个数,返回数组中的下标,如果没有返回-1。2、找到旋转的轴,然后进行两段二分查找。3、关键是找到mid这个点。我使用的是两个指针从后面往前遍历查找。class Solution {public: int search(int A[

2014-12-05 10:09:16 579

原创 Remove Duplicates from Sorted Array && Remove Duplicates from Sorted Array II

Remove Duplicates from Sorted Array移除数组中相同的元素。这题和上题是类似的。我的思路:1  有了上题的经验,两个指针移动,相等的时候不做任何动作,循环会让后面的指针一直移动到和前面的指针不相等的时候,再把值赋给前面的指针后一个。注意:一定要判断是空数组的情况,也就是n小于1的时候。        if (n < 1)            

2014-12-02 10:04:17 433

原创 Set Matrix Zeroes

Set Matrix Zeroes我的思路:1、这里给出一个矩阵,如果里面的某一个值是0,就把该行该列全都置0。2、最简单的是开一个一摸一样大的数组;或者使用两个数组,一个大小等于行大小,一个等于列大小;或者只使用两个位,来标记第一行和第一列有没有0值出现。3、我就是用第二种思路,被自己蠢哭了,一个内存设置函数写错了。代码如下: void setZeroes(

2014-11-30 20:46:01 745

原创 Maximum Subarray(最大子数组)

Maximum Subarray我的思路:1、以前是有做过hdoj上一个最长递增子序列的,想想那个比较麻烦,然后我使用和卖股票一样的算法。还把数组转换了一次,想想真是傻。2、下面是我要丑哭的代码。实在不想贴出来。 int maxSubArray(int A[], int n) { if (n < 0) return 0;

2014-11-26 20:48:29 555

原创 Search Insert Position

Search Insert Position我的思路:1、在一个排序好的序列中,找一个数,返回下标值,如果没有返回插入点的下标值。2、顺序查找。代码如下: int searchInsert(int A[], int n, int target) { if (n <= 0) return 0; for (int i =

2014-11-26 17:08:00 555

原创 Best Time to Buy and Sell Stock I && II && III

Best time to Buy and Sell Stock

2014-11-23 21:18:02 764

原创 Terminal和Vim在Mac os和Linux系统下Solarized的配色配置

这片文章讲述如何在Mac和Linux下进行Solarized的配置,包括终端以及Vim,同时还有Putty的配置。Mac下的配置:首先是配置

2014-11-21 10:06:31 1875

原创 Unique Paths & Unique Paths II

Unique Paths

2014-11-08 19:44:01 502

原创 Sort Colors

Sort Colors我的思路:1、在一个数组中用三种数字代表san ge

2014-11-08 13:41:02 440

原创 VI VIM相关命令

本文主要记录VI VIM的相关命令,以备zai

2014-11-08 00:29:28 557

原创 Spiral Matrix && Spiral MatrixII

Spiral Matrix

2014-11-07 22:00:44 557

原创 Two Sum

Two Sum

2014-11-05 17:04:45 491

原创 Linux系统相关命令

这篇文章主要记录我用过的但是不太熟悉的命令,不定期更新。系统用户相关:添加用户:

2014-11-04 15:14:54 526

原创 C++&C编程相关小细节

C++&C编程相关小细节这里主要汇聚我自己在编程中遇到的一些

2014-10-27 13:28:13 595

原创 Climbing Stairs

Climbing Stairs

2014-10-27 09:15:50 532

空空如也

空空如也

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

TA关注的人

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