自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (4)
  • 收藏
  • 关注

原创 LeetCode-29-Divide Two Integers(Numbers)-Medium

题意理解:在不使用乘法、除法和求余运算的情况下计算两个整数相除的结果;题目分析:1. 注意整数的边界问题;2. 使用移位或累加代替乘2操作;3. 将变量扩展为long long数据类型进行中间计算(long类型可能也为32 bits);4. 注意STL中abs()的强制类型转换;解题代码:class Solution {public: in

2015-12-31 09:23:33 385

原创 LeetCode-28-Implement strStr()(Sting/穷举)-Easy

题意理解:自己实现strStr()函数;题目分析:穷举,注意边界处理;解题代码:class Solution {public: int strStr(string haystack, string needle) { int sizeofHayStack=haystack.length(); int sizeofNeed

2015-12-30 08:39:29 438

原创 LeetCode-27-Remove Element(数组)-Easy

题意理解:去除先前数组中值为val的元素,返回新数据长度,和对应长度的新数组内容;题目分析:水题;解题代码:class Solution {public: int removeElement(vector& nums, int val) { int size=nums.size(); if(size<=0){

2015-12-29 09:07:48 348

原创 LeetCode-26-Remove Duplicates from Sorted Array(排序/内部排序)-Easy

题意理解:去除先前数列中的重复元素;题目分析:1. 先排序,再去重;2. 不能分配额外空间,所以需要进行内部排序;解题代码:class Solution {public: int removeDuplicates(vector& nums) { int size=nums.size(); if(size<=0){

2015-12-29 08:52:57 245

原创 LeetCode-24-Swap Nodes in Pairs(链表)-Medium

题意理解:交换链表中相邻的两个元素,如原链表为a->b->c->d,修改为b->a->d->c;题目分析:1. 不能重新分配多余内存,即只修改指针指向,不增加新的节点内容;2. 标示要处理的两个相邻元素位置p1,p2,以及p1之前的位置pPre和p2之后的位置pNext;3. 根据题目要求交换对应位置指针的指向内容;解题代码:/** * Definit

2015-12-29 08:23:55 323

原创 LeetCode-22-Generate Parentheses(DFS/递归)-Medium

题意理解:给定左右圆括号"()"的对数,打印输出所有有效的圆括号组会;解题思路:参考:http://blog.csdn.net/yapian8/article/details/27109689解题代码:class Solution {private: vector ans; void func(vector &v, string s, int

2015-12-28 08:25:20 447

原创 LeetCode-21-Merge Two Sorted Lists(链表/归并)-Easy

题意理解:合并两个链表为一个链表,其中,两个链表先前已按照从小到的顺序进行了排序,要求合并后的链表仍保持从小到大的顺序;解题分析:归并算法;解题代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *

2015-12-27 21:36:17 298

原创 LeetCode-20-Valid Parentheses(堆栈)-Easy

题意理解:判断字符串中'(') , '[]', '{}' 是否成对出现;题目分析:1. 将非右括号的字符放入栈中;2. 出现右括号时,检测栈顶是否为对应的左括号。如果为对应的左括号则继续字符串的下一个字符检查,否则返回false;3. 最后判断栈的大小是否为0,非零则返回false;解题代码:class Solution {public: bo

2015-12-27 20:59:02 294

原创 LeetCode-19-Remove Nth Node From End of List(链表)-Easy

题意理解:删除链表中倒数第n个数;题目分析:1. 确定链表长度;2. 找到需要删除对象的位置;解题代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : v

2015-12-27 16:09:59 291

原创 LeetCode-18-4Sum(证明/KSum)-Medium

题意理解:在vector中找出所有的a,b,c,d,其中a解题思路:同15-3Sum解题代码:class Solution {public: vector> fourSum(vector& nums, int target) { int size=nums.size(); vector> ans; if(

2015-12-27 15:31:21 549

原创 LeetCode-17- Letter Combinations of a Phone Number(查表/递归)-Medium

题意理解:将手机的数字按键值,转换为对应字母的所有组合;题目分析:1. 查表;2. 将数字字符串的首字符取出,然后剩余的字符子串做递归处理;解题代码:class Solution {public: vector letterCombinations(string digits) { vector ans; int d

2015-12-27 12:45:37 389

原创 LeetCode-16-3Sum Closest(证明/KSum)-Medium

题意理解:求解vector中三个数之和与target的值最接近,其中,假设vector中比存在这样的三个值;题目分析:同15-3Sum解题代码:class Solution {public: int threeSumClosest(vector& nums, int target) { int size=nums.size();

2015-12-27 11:29:50 474

原创 LeetCode-15-3Sum(证明/KSum)-Medium

题目理解:求解vector中三个数(a,b,c)之和为0,其中,a、b、c不能为重复值,并且按照a解题分析:1. 典型的KSum题目;1)先排序;2)首尾两端两个指针同时向对端移动;3)过程中避免重复的结果;题目的关键是证明两个指针向对端移动的过程中,不会漏掉有效的取值(可以使用反正法进行证明);解题代码:class Solution {pub

2015-12-26 12:20:05 432

原创 LeetCode-14-Longest Common Prefix(Number/Vector/String)-Easy

题意理解:vector中的元素为string,求解string中的最大前缀;题目分析:1. 穷举;2. 注意vector为空的边界条件;解题代码:class Solution {public: string longestCommonPrefix(vector& strs) { if(strs.size()==0){

2015-12-25 08:35:49 340

原创 LeetCode-13-Roman to Integer(number/模拟)-Easy

题意分析:将罗马数字转换为阿拉伯数字(0-3999);题目分析:简单模拟;解题代码:class Solution {public: int romanToInt(string s) { map m; m.insert(pair("0",0)); m.insert(pair("I",1));

2015-12-24 08:53:45 379

原创 LeetCode-12-Integer to Roman(哈希)-Medium

题意理解:将整数转换为罗马数字题目分析:1. 分解出千位、百位、十位和个位;2. 对应查表;解题代码:class Solution {public: string intToRoman(int num) { if(num==0){ return 0; } st

2015-12-24 08:20:51 406

原创 LeetCode-9-Palindrome Number(Number)-Easy

题意理解:求输入整数是否为回文;题意分析:1. 不能使用额外的空间,所以不能直接把整数转换为字符串进行处理;2.整数反转也不是好的方法,会出现溢出的情况;3. 负数不为回文;4. 解决方法为通过除法和求余数的方式夺得对应最左边和最右边的数值进行比较;解题代码:class Solution {public: bool isPalindrome

2015-12-23 09:20:07 345

原创 LeetCode-8-String to Integer (atoi) (String/Num)-Easy

题意理解:自己实现atoi()函数,完成字符串到整数的转变;题意分析:注意对特殊情况的检测;解题代码:class Solution {public: int myAtoi(string str) { //find the first num int numIndex=-1; int numEnd;

2015-12-23 08:30:34 420

原创 LeetCode-11-Container With Most Water(证明)-Medium

题意理解:x坐标差为宽,两个y坐标的较小值为高,求解最大的宽高乘积;题目分析:1. 穷举会超时;2. 假设 am与an间的乘积最大,则m的左边不存在比am大的值,n右边不存在比an大的值;解题代码:class Solution {public: int maxArea(vector& height) { int maxContain

2015-12-20 18:00:17 669

原创 LeetCode-5-Longest Palindromic Substring(动态规划)-Medium

题意理解:求解最长的回文;题目分析:1. 通过遍历完成,但算法的复杂度过高(O(N3));2. 采用动态规划,复杂度为O(N2)(先前以为所谓的动态规划,就是像《算法导论》里车间的那个例子,从最终决策节点向终端节点进行递归,最终获得最优解。其实,只要是最终最优决策依赖于过程最优决策的方式都是动态规划)解题代码:class Solution {public:

2015-12-20 16:49:55 645

原创 LeetCode-3-Longest Substring Without Repeating Characters(穷举)-Medium

题意理解解决最长字串长度;解题思路:1. 递归(好像会栈溢出);2. 记录比较遍历中的最大值;解题代码:class Solution {public: int lengthOfLongestSubstring(string s) { if(s.length()==0){ return 0; }

2015-12-19 23:38:02 494

原创 LeetCode-2-Add Two Numbers(链表)-Medium

题意理解:将两个链表的值对应相加;题目解析:注意相加进位;解题代码:class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* pL1=l1; ListNode* pL2=l2; ListNode* pAns

2015-12-19 21:49:38 381

原创 LeetCode-1-Two Sum(哈希)-Medium

题意分析:在给定的整数序列中找到位置index1和index2,要求这两个位置的数值之和等于target。其中,index1题目分析:1. 穷举是会超时的;2.使用hash;3.C++中没有hash,就自己写了一个,使用数值作为key,位置作为value(注意负数数值的出现);解题代码:#include#include#includeusing n

2015-12-19 19:37:08 534

原创 LeetCode-7-Reverse Integer(Nmber-Strng)-Easy

题意分析:将输入整数进行反转,如果反转后的数已超过整数范围(-2147483648~2147483647),则返回0;解题分析:1. 注意int32的范围越界(返回0);2. 打印输出时避免最高位为0的情况,如00233;4. 使用string类型标示输入和变换,规避取值范围的越界;3.使用stringstream实现整数和string之间的转换;5.不能使用_

2015-12-18 09:24:11 396

原创 LeetCode-6-ZigZag Conversion(找规律)-Easy

题意分析:将输入字符从上到下排列,到达底部一行后,从下到上翻折回最上一行,如此反复。最终将排列字符按每行的从左到右,从上到小顺序进行重新打印;解题思路:按照规则找规律(参考代码的关键是标记字符从上向下和从下向上排列的方向)解题代码:class Solution {public: string convert(string s, int numRows)

2015-12-18 09:17:46 356

原创 POJ-3386

题意理解:判断圆A和圆B是否同时在圆P中;题目分析:1.A在B中,B在P中;2.B在A中,A在P中;3.AB不相交,均在P中;解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int A,a,B,b,P; cin>>A>>a>>B>>b>>P; if((a>

2015-12-15 09:13:00 460

原创 POJ-3325

题目理解:去除最高分和最低分(有重复的最高分或最低分只去除一个),然后取平均,保留整数;解题思路:1. 排序,然后去两端,求平均;2. 使用sort()时,注意区间为半闭,半开[ );解题代码:#include#include#includeusing namespace std;int score[100];int main(int argc,

2015-12-14 09:14:19 361

原创 POJ-3302

题意理解:求字符串S2或其反转的字符串S2‘ 是否为字符串S1的子串;解题思路:1. 借助递归分别将S1,S2分解为其子串进行比较;2.利用string的find(),substring()方法;解题代码:#include#includeusing namespace std;string reverseString(string s){ stri

2015-12-14 08:50:16 497

原创 POJ-3300(用例通过,但不知什么原因一直WA)

题意分析:前轮和后轮均有若干个齿轮,每个齿轮又有若干齿牙。先将所有后轮齿轮的齿牙与前轮的齿轮齿牙做比,并将这些比值从小到大排序,最后求解相邻两个比值的比最大的一个。解题思路:模拟;用例过了,也看了别人的解题代码,感觉没什么问题。但提交一直WA;解题代码:#include#include#includeusing namespace std;int f

2015-12-13 22:01:55 574

原创 POJ-3224

题意理解:找出3个数最多的一行;如果两行3的个数一样最多,则取前面那个;解题思路:题意很容易让人误解:Exactly one of aij and aji (i ≠ j) is 3 and the other one will be less than 3解题代码:#includeusing namespace std;int main(int arg

2015-12-13 20:52:33 454

原创 POJ-3183

题意理解:找出输入中的An,满足A(n-1)=A(n+1);解题分析:1.注意首尾的边界条件;2. 注意理解题意,我一开始认为,找到一个局部最大值后,它两边只要比它小的stump都可以自动爆破。忽略了“adjacent stumps”中的“adjacent”;解题代码:#includeusing namespace std;int h[50000+1]

2015-12-13 19:29:14 338

原创 POJ-3158

题意理解:平移两个字符串,要求两个字符串的对应位置不能同时出现两个‘2’;解题思路:假设字符串str1和str2,1. 一般的思路是:从str1[n]与str2[0]做比较开始,然后str1不断向右平移,做比较;2. 等价思路是:先将str1看作bottom,str2看作top,从str1[0]和str2[0]开始做比较,str2不断向右平移;然后反过来,str

2015-12-13 17:21:36 564

原创 POJ-3117

题意理解:比赛赢的队获得3分,打平每队获得1分;题目分析:打平比赛场数=3*比赛场数-所有队比赛得分和解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ int t,n; while(cin>>t>>n, t){ int scoreSum=0;

2015-12-13 11:02:06 446

转载 POJ-3100

题意理解:求解指数的Pow(A,N)的底A,使得pow(A,N)最接近B;解题分析:水题;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ int B,N; while(cin>>B>>N, B||N){ int preDiff=B; int

2015-12-12 21:33:44 312

原创 POJ-3096

题意理解:从给定字符串中,每隔固定间隔取两个字符,组成一对。如果针对所有固定间隔取出的数对均不相等,则该字符串为surprise字串。解题思路:利用map容器,第一个值不能相同的特性进行问题求解;解题代码:#include#include#include#includeusing namespace std;int main(int argc, ch

2015-12-12 16:22:28 470

原创 POJ-3094

题意理解:将输入的以大写字母和空格组成的字符串,按规则计算checksum;解题思路:可以借助getline()来完成对字符串的整行输入;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ string s; while(1){ getline(ci

2015-12-12 14:53:58 415

原创 POJ-3086

题目理解:按照所给公式求和;解题思路:水题;解题代码:#includeusing namespace std;int Tn(int n){ return n*(1+n)/2;}int main(int argc, char *argv[]){ int caseNum; cin>>caseNum; for(int i=0;i<caseNum;i

2015-12-12 14:26:30 546

原创 POJ-3077

题意理解:1)从最低位起,逢5进1,并将处理的位数字变为0;2)当被处理位为最高位时,直接打印该位数字;解题思路:利用string来求解;解题代码:#include#includeusing namespace std;#define ROUND 5int array[9];int main(int argc, char *argv[]){

2015-12-12 12:17:56 365

原创 POJ-3062

题意理解真是没读懂题意;解题方法:整行输入,整行打印输出;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ string s; while(getline(cin,s)){ cout<<s<<endl; } return 0;}

2015-12-11 16:10:16 275

原创 POJ-3030

题意理解:如果r>e-c,则不用做广告;如果r=e-c, 则做不做广告无所谓;如果r解题思路:水题;解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int caseNum; cin>>caseNum; for(int i=0;i<caseNum;i++){

2015-12-11 15:49:57 499

tpipv6.h(头文件)

在Windows IPv6套接字编程中会包含此头文件-tpipv6.h This module contains IPv6-specific extensions, and address family independent extensions to Winsock for the IPv6 Technology Preview.

2013-01-09

Putty资源合集

PuTTy终端 的功能,而是通过其完整安装包内的 psftp.exe 文件实现的。所以,要完成像文件上传这些操作, Windows 内必须有完整的 PuTTy 安装包而不仅仅是 putty.exe 这一个文件。

2012-11-30

windows界面下的网络编程

本书以简单明了的语言和形象生动的例子,介绍了WINSOCK(Windows Socket)网络编程,共分上、下两篇。上篇主要介绍了网络编程的基础知识,其中包括网络通信模型、TCP/IP协议、socket编程界面、WINSOCK的消息结构等。下篇主要介绍了五个网络协议和相应的网络程序。这些网络协议包括文件传输协议(FTP)、邮件发送协议(SMTP和POP3)、超文本传输协议(HTTP)、Gopher协议、CHECKET协议(作者自定义的)。在附录中,详细介绍了WINDSOCK的函数和超文本制作语言(HTML)。 本书论述通俗、技术实用,适合于计算机网络、计算机软件以及计算机应用等专业的大专院校师生和计算机软件开发人员使用与参考。

2011-12-28

tmote-sky硬件手册和开发使用手册

文档中包含tmote-sky的硬件手册,以及使用手册

2011-12-06

空空如也

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

TA关注的人

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