自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xshengh_blog

A code maker...

  • 博客(18)
  • 收藏
  • 关注

转载 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

转载自:http://www.cnblogs.com/panxueji/archive/2013/05/12/3073924.html作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1.

2013-12-20 12:55:18 1389

转载 优秀程序员不得不知道的20个位运算技巧

转载自:http://blog.csdn.net/zmazon/article/details/8262185一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker'

2013-12-14 13:12:56 564

原创 Leetcode 3Sum

类似于2Sum做法,复杂度是O(n^2),难点在于如何去重三元组。每次遇到符合的三元组,push_back进vector以后,还要继续往下扫,还有没有符合的,但是往下扫的时候记得跳过相同的元素。附上K-Sum:求和问题总结的链接http://tech-wonderland.net/blog/summary-of-ksum-problems.htmlclass Solution {pu

2013-12-12 17:25:25 664

原创 Leetcode ZigZag Conversion

模拟。注意当nRows = 1的情况。class Solution {public: string convert(string s, int nRows) { if(nRows == 1) return s; string ans; for(int i = 0; i < nRows; i++){ int j =

2013-12-12 14:06:39 604

原创 Leetcode Add Two Numbers

熟悉指针的用法。要先虚拟出一个头指针,但是用二级指针应该可以回避这个问题。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */cl

2013-12-12 10:49:21 640

原创 Leetcode Valid Palindrome

判断是否回文,只判断数字和字母,在头尾设置两个指针,记得先转化成小写再进行比较,如果不是数字或者字母要记得跳过。class Solution {public: bool isPalindrome(string s) { if(s.empty()) return true; int i = 0, j = s.size()-1; while

2013-12-11 20:37:34 589

原创 Leetcode Add Binary

二进制求和。注意进位就可以了。class Solution {public: string addBinary(string a, string b) { string ans; int carry = 0, num; for(int i = 0; i < max(a.size(), b.size()); i++){

2013-12-11 20:13:04 719

转载 Leetcode Valid Number

本题WA了无数次,最后逼迫无奈,只能根据WA的情形,对程序不断修正才AC掉的,绝逼痛苦。My Solution:class Solution {public: bool checkD(const char *s, int i){ if(i == beg && i == end){ return false; }

2013-12-11 17:02:52 1069

原创 Leetcode Count and Say

模拟。记得把个数转化为字符串。(可能是两位数或以上)。class Solution {public: string countAndSay(int n) { string str = "1", ans = "1"; int num = 1; while(num < n){ char c = str[0];

2013-12-09 19:43:41 993

原创 Leetcode Valid Sudoku

遍历,每到一个点,判断该行该列的数是否有与其相同的,由于行比它小以及列比他它小的位置已经比较过了,所以可以直接跳过。然后还要比较该点位于的九宫格是否符合条件。class Solution {public: bool isValidSudoku(vector > &board) { for(int i = 0; i < board.size(); i++){

2013-12-09 16:31:06 586

原创 Leetcode Longest Common Prefix

第一个字符串和第二个字符串比较得到最长公共前缀,再用得到的前缀跟下个字符串比较,得到最新的公共前缀,如此遍历下去,得到最后的最长公共前缀就是答案。class Solution {public: string longestCommonPrefix(vector &strs) { string ans, tmp; if(strs.empty()) re

2013-12-08 22:29:20 580

原创 Leetcode String to Integer (atoi)

根据提示来做,注意细节即可。class Solution {public: int atoi(const char *str) { long long ans = 0; int i = 0; bool tag = false; while(str[i] == ' '){ i++; }

2013-12-08 22:11:52 650

原创 Leetcode Two Sum

水题。直接暴力枚举,当然记得返回的下标是从1开始的。class Solution {public: vector twoSum(vector &numbers, int target) { vector ans; for(int i = 0; i < numbers.size(); i++){ for(int j = i+1; j

2013-12-08 21:20:10 653

原创 Leetcode Length of Last Word

一开始以为如果最后一个字符是space就不存在最后一个单词,WA了一次。遍历该string,cnt记录当前单词的长度,如果遇到space,还要判断它的下一个字符是不是space,是的话就重置cnt为0,否则不变。class Solution {public: int lengthOfLastWord(const char *s) { int len = strlen(

2013-12-08 12:46:32 629

原创 Leetcode Subsets II

跟I做法一样,不过在dfs的时候要加一个判断条件。在理解了I的做法的基础上去想就很容易明白了。class Solution {public: vector > subsetsWithDup(vector &S) { ans.clear(); v.clear(); ans.push_back(v); sort(S.begi

2013-12-07 22:36:28 612

原创 Leetcode Jump Game

一开始想复杂了,其实很简单。将数组遍历一遍,每遍历一个元素就不断更新当前所能到达的最大下标。如果遍历到一个下标市不在最大下标的范围,就返回false。如果能一直遍历到结尾,就返回true。class Solution {public: bool canJump(int A[], int n) { int max_index = 0; for(int

2013-12-06 14:26:52 564

原创 Leetcode Path Sum II

dfs,跟Path Sum I 相差无几。/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {}

2013-12-06 14:20:31 610

原创 Leetcode Subsets

dfs again!记得先排序,同时还要记录当前所在的位置,递归的下一层直接从这个位置开始遍历。class Solution {public: vector > subsets(vector &S) { ans.clear(); ans.push_back(v); sort(S.begin(), S.end());

2013-12-05 18:00:35 870

空空如也

空空如也

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

TA关注的人

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