自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 424

原创 python os模块总结

os.listdir(指定的目录名):得到指定路径下的所有文件名和目录名。返回的是你的这个目录下的所有文件和目录,我的这个路径下有两个子文件夹160715和160716,两个子文件夹分别含有文件list=os.listdir(destpath)for line in list: print line结果返回两个目录名称:160715160716os.

2016-07-16 17:10:38 634

原创 如何卸载centos图形界面,并且可以开机直接进入文本界面

前提要注意是在root权限下的,所以需要登录账户密码后,输入su,进入到root权限,这里我自己饶了点弯子卸载X Window     代码如下:     yum groupremove 'X Window System' -y卸载GNOME桌面环境  代码如下:  yum groupremove "GNOME Desktop Environment

2016-06-30 22:48:52 7878

原创 TCP三次握手和四次握手

SYN(synchronous  ):建立一个连接ACK  (Acknowledgement):只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1FIN:是结束的意思,当FIN=1时,表示发送完毕,释放连接Seq:序号,占32位即4个字节,来标识从TCP端项目地端发送的字节流,发起方发送数据时对此进行标记,首部的序号字段是本报文段所发生的数据的第一个序号,下一个报

2016-06-27 23:53:57 491

原创 House Robber

这道题的意思是任何两个相连接的点不能同时被盗。所以使用递归就可以了,需要记录每个节点的两种情况:result数组中存的是每个节点算上自己的当前节点的值result[1]和不算自己当前节点的值reslut[0]的情况。1、不算自己节点,将比较 (node.left)左孩子 算左节点自己节点和 不算左节点自己节点的,去这两种的最大值,然后在同样比较右节点(node.righ

2016-06-24 17:34:04 412

原创 TCP/IP五层与OSI七层

五层协议为,从下到上:物理层,数据链路层,网络层,传输层,应用层物理层:用来为数据链路层提供一个传输的原始比特流的物理连接,实现的是硬件的集成器,它对接收到的信号进行再生整形放大。数据链路层:主要是解决封装成帧,透明传输、差错检测,SLIP(Serial Line Internet Protocol,串行线路网际协议),CSLIP(CompressedSerialLineInt

2016-06-20 17:01:30 749

原创 Keep-Alive

http是一个请求响应模式,客户端向服务器发请求,服务器来响应。旧的HTTP版本中,每次请求都将创建一个新的客户端-服务器连接,在这个连接上发送请求和接收请求,完成请求之后就断开。这种模式简单容易实现,缺点是效率低。keep alive就是解决这种低效率问题的。使用keep alive,在一次TCP连接上可以持续发送多份数据,使客户端到服务器端的连接持续有效,减少TIM

2016-06-18 23:30:42 435

原创 网络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 462

原创 线程与进程

定义:进程是进行资源调度分配的独立单位;线程是进程的一个实体,是执行那个运算的最小单位拥有资源:进程拥有独立的资源;线程基本不拥有资源,但与同属一个进程的其他线程同享全部资源并发:进程之间可以并发;统一进程的不同线程也可并发开销:进程需要分配资源,开销大调度:进程是拥有资源的最小单位;线程是调度和分配的最小单位,一个线程可以撤销和创建另一个线程线程分为用户级线程

2016-06-18 11:17:20 428

原创 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 402

原创 接口和抽象类

接口和继承的区别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 412

原创 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 314

原创 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 458

原创 结构体的用法

很久没用结构体了,今天给自己总结一下:第一种是 struct string { char name[8]; int age; float wage; } person; 第二种 struct string { char name[

2016-05-17 23:51:57 474

原创 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 368

原创 Word Pattern

刚开始想到的是先便利pattern,然后再进行判断,这样就有两层循环。在discussion里找到了新的方法,一边循环就出来了,思路如下:使用两个unordered_map记录,一个记录pattern到str,另一个记录str到pattern,如果pattern里对应的str与当前的str不一样则返回false,如果str里对应的pattern与当前的不一样则返回false。为

2016-05-15 23:45:31 496

原创 虚拟地址和物理地址

看了好几篇博客,记下自己心得:现代操作系统普遍采用虚拟内存管理(VIRTUAL MEMORY MANAGEMENT)机制,需要内存管理单元(Memory Management Unit,MMU)。物理地址:当CPU发出的内存地址直接传送到芯片虚拟地址:CPU发出的地址经过MMU,翻译成另一个地址,传给芯片上。CPU到MMU的地址称为虚拟地址。

2016-05-12 19:55:01 457

原创 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 344

原创 Bulls and Cows

先说一下,这道题的意思,让你找到同一位的并且相同的数,总和为A,不同位相同的数总和为B,最后输出A,B的值。这道题默认的是secret和guess位数一样的。参考了大神的代码,学习了以下,写下思路:进行循环首先判断本次循环对应的位是否相同,如果相同,bull++;如果不同判断secret这位数在guess中是否出现,有的话cow++,在判断guess数是否在secret出现,有

2016-05-11 18:05:57 410

原创 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 413

原创 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 1565

原创 Remove Duplicate Letters

思路如下;   需要一个数组count记录s中每个元素出现的个数,一个数组visited记录是否被访问过,和一个栈来存放最后的结果。当便利s时判断是不是比栈顶的元素小,栈顶元素是不是的后面还有,如果满足且则栈顶元素出栈,该元素进栈。程序如下class Solution {public: string removeDuplicateLetters(string s) {

2016-04-28 09:50:52 333

原创 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 311

原创 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 352

原创 vector 循环输入数据

每次输入的数组长度不定,不用输入数组的长度,最后以任意英文字母结束vector nums;    int nu=0;        while(cin>>nu){        nums.push_back(nu);    }

2016-04-15 09:29:13 2868

原创 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 360

原创 Bulb Switcher

说一下我的解题思路,干刚开始看到题,首先想到的是先给每个灯泡赋值,1代表亮,0代表灭,然后遍历每个数,同时遍历每个灯泡,这样就有两层循环,时间复杂度要高。然后在网上看到了一个想法很好,这里说一下我的理解。首先我们换种思维,这个时候只关注灯泡的亮灭,比如第8个灯泡,1的时候亮,2的时候灭,4的时候亮,8的时候灭,最终的状态是灭的;然后关注第九个灯泡,1的时候亮,3的时候灭,9的时候亮

2016-03-07 20:56:10 402

原创 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 379

原创 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 345

原创 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 562

原创 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 372

原创 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 442

原创 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 355

Matlab与C C++ 混合程序设计 第2版

Matlab与C C++ 混合程序设计 第2版 详细讲解在C/C++语言中如何调用Matlab成程序和相互调用。

2017-10-09

电机速度闭环控制(代码详细注释)

里面有详细的介绍,PID关于电机速度的闭环控制程序。有详细说明

2017-10-09

由入门到精通吃透PID

由入门到精通吃透PID,由浅入深讲解PID控制器的原理参数设置过程

2017-10-09

pid算法详细解释

pid算法详细解释,详细说明PID算法的原理以及调试过程

2017-10-09

Word Pattern

Word Pattern,在vim下开发这个代码

2016-05-15

Bulls and Cows C++

Bulls and Cows,在linux下编译成功,完整程序

2016-05-11

Reverse Vowels of a String

Reverse Vowels of a String,完整代码可在编译器上运行

2016-04-29

LeetCode Patching Array

LeetCode Patching Array 完整C++代码,本人在vim + g++上跑出

2016-04-17

Maximum Product of Word Lengths

LeetCode Maximum Product of Word Lengths 完整C++代码,本人使用linux下的g++编译

2016-04-16

Leetcode Brust ballons

leetcode Brust Ballons C++完整源代码

2016-04-15

Roman to Integer完整代码

leetcode上Roman to Integer的完整C++代码,已被accepted

2016-02-29

软件工程作业

对软件工程所学课程做最后的总结,将重点习题,章节归纳出来,可以作为学习软件工程学的参考。

2015-06-03

apache-tomcat-6.0.18

它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

2015-05-05

UML基础教程

UML基础课程帮助初学者了解入门编译原理等知识,在理解的过程中认识了解其内容

2015-01-31

数字逻辑习题

硬件课程,数字逻辑,分析,操做习题,是计算机的硬件基础科,想学好计算机硬件必须学好这科,数字逻辑,基于电路等 操作

2013-10-14

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

TA关注的人

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