自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hnxijie的博客

个人学习用,学习笔记

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

翻译 EffectivePython

人生苦短我用 Python注:最后附电子书地址一、Pythonic Thinking第1条: 确认自己所用的Python版本使用python -version查看当前Python版本 Python的运行时版本:CPython,JyPython,IronPython和PyPy等 优先考虑使用 Python 3第2条: 遵循PEP 8 风格指南PEP 8:http://www.python.org/dev/peps/pep-0008/PEP 8:http://www.python.

2020-07-08 22:38:52 340

转载 django middleware

中间件简介django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件中间件中一共有四个方法:process_request

2017-11-10 10:45:02 394

原创 [LeetCode] 263. Ugly Number

原题地址Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not

2017-01-25 17:55:11 303

原创 [LeetCode 226] Invert Binary Tree

Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1递归的方法:/** * Definition for a binary tree node. * struct TreeNode {

2016-10-28 21:54:03 303

原创 [LeetCode258] Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has on

2016-10-28 20:54:51 258

原创 守护进程的创建方法和步骤

转自http://blog.chinaunix.net/uid-25365622-id-3055635.html概念:     守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器http

2016-08-21 16:33:37 371

转载 c++虚函数实现机制

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的

2016-08-09 18:36:06 301

原创 dlopen的用法

1、前言  为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一

2016-08-08 15:57:13 13008 1

转载 网络编程面试

点击打开链接

2016-07-30 13:32:04 284

原创 深入内存模型和函数调用机制,理解析构函数的执行顺序

原文地址 http://tianchengming.com/post-229.html为什么析构函数的执行顺序是相反的。要搞清楚这个问题,首先要明白C++内存模型,也就是C++的代码和数据在内存中是如何存储的。C++内存模型和C语言类似(有部分细节不同),你可以参照C语言内存模型来理解。 在内存模型中有一块区域叫做栈区,它是由系统维护的(程序员无法操作)

2016-06-03 20:21:28 1042

转载 程序员的发展方向

师范数学毕业转行做软件开发已两年,从事.net,做过一些电子商务网站和软件,自已是个女生,2010年24岁,是该考虑下自已的发展方向了。下面摘一些程序员发展方向的相关文章给自已也给同样迷茫的战友们,希望能给你一些帮助:程序员有哪些发展方向提示:本文适合有2年及以上工作经验的程序员,对于刚入职或者即将职的程序程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术

2016-06-02 11:48:15 1047

原创 云计算的三种服务模式:SaaS/PaaS/IaaS

定义云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的:SaaS:Software as a Service,软件即服务,这层的作用是将应用作为服务提供给客户。PaaS:Platform as a Service,平台即服务,这层的作用是将开发平台作为服务提供给用户。IaaS:Infrastructure as a Service,基础设施即

2016-05-31 20:29:47 1046

原创 深入探讨 内联函数和宏定义的区别

内联函数的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;内联函数首先是函数,这就意味着函数的很多性质都适用于内联函数,即内联函数先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。   内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏展开以后,才由编

2016-05-27 11:26:24 1363

原创 不用算术运算符实现两个数的加法(按位异或)

用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如下1 + 1 = 01 + 0 = 10 + 1 = 10 + 0 = 0很明显这几个表达式可以用位运算的“^”来代替,如下1 ^ 1 = 01 ^ 0 = 10 ^ 1 = 10 ^ 0 = 0这样我们就完成了简

2016-05-23 15:53:11 4281

原创 变态跳台阶问题

题目2:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级......它也可以跳上n级。此时该青蛙跳上一个n级的台阶总共有多少种跳法? 分析:用Fib(n)表示青蛙跳上n阶台阶的跳法数,青蛙一次性跳上n阶台阶的跳法数1(n阶跳),设定Fib(0) = 1; 当n = 1 时, 只有一种跳法,即1阶跳:Fib(1) = 1; 当n = 2 时, 有两种跳的方式,一阶跳和二阶跳:Fib(2) = F

2016-05-05 11:15:43 392

原创 斐波那契数列

点击打开链接

2016-05-05 10:50:23 246

原创 跳台阶问题

题目:给定一个有N个台阶的楼梯,一个人从下到上开始跳台阶,这个人有两种跳的方式:一次跳一个台阶,一次跳两个台阶;问:从台阶底端跳到台阶顶端,有多少种跳台阶的方式?分析:首先我们考虑最简单的情况。如果只有1个台阶,那么显然只有一种跳法;如果是2级台阶,那么有2种跳法。对于一个有n级台阶的楼梯来说,我们设跳法为 f(n) ,假如我们先跳1个台阶,则剩下有 n-1 个台阶

2016-05-05 10:40:01 345

原创 C++中智能指针的设计和使用

智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷

2016-04-14 20:36:45 982

原创 构造函数中无法实现多态

#include using namespace std; class Parent { public: Parent() { this->printfn(); } virtual ~Parent(){} virtual void printfn() { cout <<

2016-03-23 11:03:41 841

原创 拷贝构造,构造函数,析构函数的调用顺序

#include "iostream"using namespace std;class ABCD {public: ABCD(int a, int b, int c) { this->a = a; this->b = b; this->c = c; printf("ABCD() construct, a:%d,b:%d,c:%d \n", this->a, thi

2016-03-08 17:52:00 405

原创 C++初始化列表

1 C++中提供了初始化列表对成员变量进行初始化2 使用初始化列表出现原因:1.必须这样做:如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,而没有默认构造函数,(如果还有无参的构造函数,就会报错)这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错。2、类成

2016-03-08 17:48:06 265

原创 C++拷贝构造函数详解

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100;  int b = a;   而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。

2016-03-07 15:10:32 329

原创 链表逆置

int SList_revse(SLIST * pHead){ SLIST *p = NULL, *q = NULL, *t = NULL; if (pHead == NULL) { return -1; } if (pHead->next == NULL || pHead->next->next == NULL) { return 0; } //准备环境 p = p

2016-03-03 11:46:26 316

原创 如何避免野指针

1. 初始化时 定义指针变量的时候,指针变量赋值成nullchar ** p = NULL;2 在释放的时候,判断是不是NULL3 释放完毕以后再赋值成null

2016-02-26 18:30:04 268

原创 字串的连接最长路径查找

题目描述给定n个字符串,请对n个字符串按照字典序排列。 输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。输入例子:9captocatcardtwotooupboatboot输出例子:boatbootca

2016-01-21 18:03:46 436

原创 句子逆序

题目描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明/** * 反转句子 *  * @param sentence 原句子 * @return 反转后的句子 */public String reverse(S

2016-01-21 16:56:23 266

原创 字符串最后一个单词的长度

题目描述计算字符串最后一个单词的长度,单词以空格隔开。输入描述:一行字符串。输出描述:整数N,最后一个单词的长度。输入例子:hello world输出例子:5一个比较有用的C++的输入输出控制类,C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含这个头

2016-01-21 16:26:44 355

原创 字符串流 istringstream 和 ostringstream 的用法

iostream 标准库支持内存中的输入/输出,只要将流与存储在程序内存中的 string 对象捆绑起来即可。此时,可使用 iostream 输入和输出操作符读写这个 string 对象。标准库定义了三种类型的字符串流: •   istringstream,由 istream 派生而来,提供读 string 的功能。 •   ostringstream,由 ostream 派生而来,提供写

2016-01-21 16:20:17 522

原创 理解数组指针和指针数组的区别

数组指针与指针数组的区别在于:数组指针p是一个指针,而指针数组p是一个存放N个指针变量的数组。一、数组指针(也称行指针)定义: int (*p)[n]     重点:()优先级高([]、()的优先级是一样的,但它们的方向是从左至右的,所以先运行括号里的*p),首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个

2016-01-21 10:44:59 262

原创 找新朋友(欧拉函数)

http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=8Problem Description新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公

2016-01-20 19:37:36 364

原创 求最大公约数和最小公倍数

递归实现,辗转相除法。#include using namespace std;int gcd(int a, int b){ if(a % b == 0) return b; else{ int temp = b; b = a % b; a = temp; gcd(a, b);

2016-01-16 10:54:34 289

原创 老人真是饿了(贪心)

对于幸存的灾民来说,最急待解决的显然是温饱问题,救灾部队一边在组织人员全力打通交通,一边在组织采购粮食。现在假设下拨了一定数量的救灾经费要去市场采购大米(散装)。如果市场有m种大米,各种大米的单价和重量已知,请问,为了满足更多灾民的需求,最多能采购多少重量的大米呢? Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两

2016-01-15 20:28:32 436

原创 排名

Problem Description今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的 考生,并将他们的成绩按降序打印。  Input测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 名考生

2016-01-15 16:05:25 346

原创 STL 中map容器key和value排序问题

map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key;该学生的成绩用int类型,作为value。这样一来,我们可以根据学生姓名快速的查找到他的成绩。       

2016-01-14 20:30:35 474

原创 明明的随机数

题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。  Input Param      

2016-01-14 16:11:00 325

原创 Balloon Comes!

Problem DescriptionThe contest starts now! How excited it is to see balloons floating around. You, one of the best programmers in HDU, can get a very beautiful balloon if only you have solved the

2016-01-13 22:15:18 163

原创 decimal system

Problem DescriptionAs we know , we always use the decimal system in our common life, even using the computer. If we want to calculate the value that 3 plus 9, we just import 3 and 9.after calculat

2016-01-13 21:26:49 241

原创 GPA

Problem DescriptionEach course grade is one of the following five letters: A, B, C, D, and F. (Note that there is no grade E.) The grade A indicates superior achievement , whereas F stands for fai

2016-01-13 20:29:50 335

原创 Quicksum

Problem DescriptionA checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are of

2016-01-13 20:27:10 199

原创 Buildings

Problem DescriptionWe divide the HZNU Campus into N*M grids. As you can see from the picture below, the green grids represent the buidings. Given the size of the HZNU Campus, and the color of each

2016-01-13 20:25:42 263

空空如也

空空如也

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

TA关注的人

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