- 博客(33)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 MFC对话框访问方式
第一种方式:GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);获取对话框中的数据GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);将数据传到对话框第二种方式:GetDlgItemText(IDC_EDIT1,ch1,10);SetDlgItemText(IDC_EDIT3,ch3);第三种方式:
2017-10-01 18:59:20
407
原创 python os模块总结
os.listdir(指定的目录名):得到指定路径下的所有文件名和目录名。返回的是你的这个目录下的所有文件和目录,我的这个路径下有两个子文件夹160715和160716,两个子文件夹分别含有文件list=os.listdir(destpath)for line in list: print line结果返回两个目录名称:160715160716os.
2016-07-16 17:10:38
619
原创 如何卸载centos图形界面,并且可以开机直接进入文本界面
前提要注意是在root权限下的,所以需要登录账户密码后,输入su,进入到root权限,这里我自己饶了点弯子卸载X Window 代码如下: yum groupremove 'X Window System' -y卸载GNOME桌面环境 代码如下: yum groupremove "GNOME Desktop Environment
2016-06-30 22:48:52
7837
原创 TCP三次握手和四次握手
SYN(synchronous ):建立一个连接ACK (Acknowledgement):只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1FIN:是结束的意思,当FIN=1时,表示发送完毕,释放连接Seq:序号,占32位即4个字节,来标识从TCP端项目地端发送的字节流,发起方发送数据时对此进行标记,首部的序号字段是本报文段所发生的数据的第一个序号,下一个报
2016-06-27 23:53:57
471
原创 House Robber
这道题的意思是任何两个相连接的点不能同时被盗。所以使用递归就可以了,需要记录每个节点的两种情况:result数组中存的是每个节点算上自己的当前节点的值result[1]和不算自己当前节点的值reslut[0]的情况。1、不算自己节点,将比较 (node.left)左孩子 算左节点自己节点和 不算左节点自己节点的,去这两种的最大值,然后在同样比较右节点(node.righ
2016-06-24 17:34:04
396
原创 TCP/IP五层与OSI七层
五层协议为,从下到上:物理层,数据链路层,网络层,传输层,应用层物理层:用来为数据链路层提供一个传输的原始比特流的物理连接,实现的是硬件的集成器,它对接收到的信号进行再生整形放大。数据链路层:主要是解决封装成帧,透明传输、差错检测,SLIP(Serial Line Internet Protocol,串行线路网际协议),CSLIP(CompressedSerialLineInt
2016-06-20 17:01:30
732
原创 Keep-Alive
http是一个请求响应模式,客户端向服务器发请求,服务器来响应。旧的HTTP版本中,每次请求都将创建一个新的客户端-服务器连接,在这个连接上发送请求和接收请求,完成请求之后就断开。这种模式简单容易实现,缺点是效率低。keep alive就是解决这种低效率问题的。使用keep alive,在一次TCP连接上可以持续发送多份数据,使客户端到服务器端的连接持续有效,减少TIM
2016-06-18 23:30:42
423
原创 网络IP
IP( Internet Protocol)的意思是网络协议,唯一标识每台主机或者设备的地址。一个IP地址的网络部分称为网络地址,主机可与具有相同网络号的设备直接通讯。共有5类IP地址,其中A,B,C类是商用的,D类IP用作组播,E类IP用于科研。A类:0.0.0.0-127.255.255.255,其中0.x.x.x不可使用,127.x.x.x用作本地环回测试。可使用的是
2016-06-18 18:34:02
446
原创 线程与进程
定义:进程是进行资源调度分配的独立单位;线程是进程的一个实体,是执行那个运算的最小单位拥有资源:进程拥有独立的资源;线程基本不拥有资源,但与同属一个进程的其他线程同享全部资源并发:进程之间可以并发;统一进程的不同线程也可并发开销:进程需要分配资源,开销大调度:进程是拥有资源的最小单位;线程是调度和分配的最小单位,一个线程可以撤销和创建另一个线程线程分为用户级线程
2016-06-18 11:17:20
412
原创 POST GET比较
GET,POST是进行客户端和服务器端的交互的两个方法,get从服务器上获得数据,post给服务器提交数据。GET方法不对数据库进行修改,查询时数据会处在URL的后面,即放在http协议头中。如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转
2016-06-15 20:38:54
388
原创 接口和抽象类
接口和继承的区别1. 一个接口可以继承多个接口.interface C extends A, B {}是可以的.但是一个类只能继承一个类,不能继承多个类class B extends A{}2. 在继承类的同时,也可以继承接口:class E extends D implements A,B,C{}这也正是选择用接口而不是抽象类的原因3. 接口只声明方法
2016-06-06 23:24:45
394
原创 Lowest Common Ancestor of a Binary Tree
思路为:找到p,q,的节点,利用递归从而找到p,q的共公父节点,返回的父节点即为所求的节点 public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root== null) return null; if(root==p) return root; els
2016-06-05 10:38:03
296
原创 Game of Life
看到discussion里的,想明白了,写一下自己的想法和经验。这道题如果英语不好的话首先试题目不好懂Any live cell with fewer than two live neighbors dies, as if caused by under-population.Any live cell with two or three live neighbors lives
2016-05-25 20:31:26
447
原创 结构体的用法
很久没用结构体了,今天给自己总结一下:第一种是 struct string { char name[8]; int age; float wage; } person; 第二种 struct string { char name[
2016-05-17 23:51:57
459
原创 Ugly Number II
ugly number:一个数的的素因数只有2,3,5,其中1是ugly number。class Solution{ public: int nthUglyNumber(int n){ vector num(1,1); int m,l2=0,l3=0,l5=0; if(n==1) return 1; n--; cout<<num.back()<<endl;
2016-05-16 22:43:42
352
原创 Word Pattern
刚开始想到的是先便利pattern,然后再进行判断,这样就有两层循环。在discussion里找到了新的方法,一边循环就出来了,思路如下:使用两个unordered_map记录,一个记录pattern到str,另一个记录str到pattern,如果pattern里对应的str与当前的str不一样则返回false,如果str里对应的pattern与当前的不一样则返回false。为
2016-05-15 23:45:31
489
原创 虚拟地址和物理地址
看了好几篇博客,记下自己心得:现代操作系统普遍采用虚拟内存管理(VIRTUAL MEMORY MANAGEMENT)机制,需要内存管理单元(Memory Management Unit,MMU)。物理地址:当CPU发出的内存地址直接传送到芯片虚拟地址:CPU发出的地址经过MMU,翻译成另一个地址,传给芯片上。CPU到MMU的地址称为虚拟地址。
2016-05-12 19:55:01
438
原创 Move Zeroes
这道题不使用一个数组赋值到另一个数组的方法,看到有大神这样写的,膜拜以下:思路:一遍循环,如果nums[i]==0;记录下0的个数zero,如果不为0,则看看前面有没有0,如果有,则将该位前移zero位,然后该位赋为0;代码如下:class Solution {public: void moveZeroes(vector& nums) { i
2016-05-12 11:54:11
333
原创 Bulls and Cows
先说一下,这道题的意思,让你找到同一位的并且相同的数,总和为A,不同位相同的数总和为B,最后输出A,B的值。这道题默认的是secret和guess位数一样的。参考了大神的代码,学习了以下,写下思路:进行循环首先判断本次循环对应的位是否相同,如果相同,bull++;如果不同判断secret这位数在guess中是否出现,有的话cow++,在判断guess数是否在secret出现,有
2016-05-11 18:05:57
392
原创 Reverse Vowels of a String
看的别人的才想到,用的是set,一便循环就出来了。。。我用G++编的,不过版本需要改进出了很多错误。代码如下 string removeDuplicateLetters(string s){ set hash{'a','e','i','o','u','A','E','I','O','U'}; int l=0,r=s.size()-1; while(l<r){
2016-04-29 14:24:41
400
原创 G++ 版本问题
请按 ENTER 或其它命令继续ReverseofString.cpp: In member function ‘std::string Solution::reveseVowels(std::string)’:ReverseofString.cpp:10:14: warning: extended initializer lists only available with -std=
2016-04-29 14:19:33
1551
原创 Remove Duplicate Letters
思路如下; 需要一个数组count记录s中每个元素出现的个数,一个数组visited记录是否被访问过,和一个栈来存放最后的结果。当便利s时判断是不是比栈顶的元素小,栈顶元素是不是的后面还有,如果满足且则栈顶元素出栈,该元素进栈。程序如下class Solution {public: string removeDuplicateLetters(string s) {
2016-04-28 09:50:52
322
原创 LeetCode Patching Array
自己没有思路,看了看其他人的,看懂了,想了很久在这里面,假设现在可以便是的范围为[1,sum),sum为所表示的最大数+1;如果下一个数nums[i]sum,则nums[i]不能被表示,则原数组加上sum,表示范围是[1,2*sum)。注意sum可能会溢出,所以要变为long型的。#include#includeusing namespace std;class Sol
2016-04-17 18:02:53
301
原创 Maximum Product of Word Lengths
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower case lett
2016-04-16 09:44:09
337
原创 vector 循环输入数据
每次输入的数组长度不定,不用输入数组的长度,最后以任意英文字母结束vector nums; int nu=0; while(cin>>nu){ nums.push_back(nu); }
2016-04-15 09:29:13
2832
原创 LeetCode Brust Ballons
#include #include using namespace std;using namespace std;class solution{ public: int maxCoins(vector& nums){ int array[nums.size()+2]; for(int i=1;i<nums.size()+1;i++){ array
2016-04-15 09:24:03
354
原创 Bulb Switcher
说一下我的解题思路,干刚开始看到题,首先想到的是先给每个灯泡赋值,1代表亮,0代表灭,然后遍历每个数,同时遍历每个灯泡,这样就有两层循环,时间复杂度要高。然后在网上看到了一个想法很好,这里说一下我的理解。首先我们换种思维,这个时候只关注灯泡的亮灭,比如第8个灯泡,1的时候亮,2的时候灭,4的时候亮,8的时候灭,最终的状态是灭的;然后关注第九个灯泡,1的时候亮,3的时候灭,9的时候亮
2016-03-07 20:56:10
394
原创 Roman to Integer
罗马数字有如下符号:Ⅰ(1)Ⅴ(5)Ⅹ(10)L(50)C(100)D(500)M(1000)计数规则:1.若干相同数字连写表示的数是这些罗马数字的和,如III=3;2.小数字在大数字前面表示的数是用大数字减去小数字,如IV=4;3.小数字在大数字后面表示的数是用大数字加上小数字,如VI=6;组合规则:(1)基本数字Ⅰ、X 、C 中的
2016-02-29 21:20:03
369
原创 Longest Increasing Path in a Matrix
DFS问题,遍历每个点并且取其最大值;在遍历过程中应该,避免重复遍历,应该设置path[2][4]为每个点为起始点的最长路径长度,初始化为0,如果被遍历过不为0,则返回,否则进行遍历。class Solution {public: int longestIncreasingPath(vector>& matrix) { int maxway=0; in
2016-02-10 09:50:18
341
原创 Two Sum 的map函数
vector& nums声明一个动态的数组, results.push_back是对数组赋值刚刚开始是用两个for循环,但是时间复杂度为n^2,在网上查到了用map写法,果然ACCEPT,所以今天研究一下map函数以及其原因。TWO SUM 的C++函数如下所示class Solution {public: vector twoSum(vector& nums,
2016-01-18 21:31:11
545
原创 String to Integer (atoi)
这道题考虑了很久1 有+ - 符号出现,用is_negetive记录了正负情况,2.出现多个+-或者其他符号,返回0;3.出现空格则返回控各前的数。4.空格和符号一起出现,如" +5205"5.出现溢出情况。这个比较难,在int范围是2的32次方-1到负2的32次方。比较是否超出这两个范围,如果超出则返回最大值或最小值。PS:我是用的DEV C++编译器,在这里mi
2016-01-17 11:03:00
361
原创 Reverse Integer C++
首先进行负数的判断,如果为负数,则取反,并且设置一个符号判别为is_positive.在判断是否翻转为无效的数,如100,直接100/100运算。最后判断溢出,设置y为long 型,如果翻转之后long与int型不相等则为溢出。class Solution {public: int reverse(int x) { int N=x%10;
2016-01-14 11:30:46
415
原创 ZigZag Conversion
class Solution{ public: string convert(string s,int numRows){ int length = s.length(); int n; string solu=""; n=2*numRo
2016-01-10 17:54:37
346
Maximum Product of Word Lengths
2016-04-16
apache-tomcat-6.0.18
2015-05-05
Wiggle Sort II,最后将以排好的数组合在一起
2016-02-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人