- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 堆栈相关面试题(详解)
1. 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)时间复杂度为O(1)。分析:设计两个栈,一个栈用来push 、pop操作,另一个栈用来保存当前最小值Min。当push元素小于等于Min栈顶元素时,将其压入Min栈顶,当pop元素等于Min栈顶元素时,两个栈均要pop出栈顶元素。下图为各种情况的优缺点分析。class StackWithMin{...
2018-08-29 20:42:25 4879
原创 【剑指Offer】把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析 首先想到的是将数组中的数字进行排序,然后输出即可。但是我们应该用那种排序方法进行排序。显然直接使用整数进行比较是不可能实现的。其次我们可能想到转化字符串进行比较,但是对于{“3”,“32”,“32...
2018-08-26 13:08:33 254
原创 [剑指Offer]数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。分析 : 思路1:首先我们相当的应该就是遍历,判断每个数出现的次数。即双层循环,判断每个数出现的次数,如果有一个数字出现次数超过一般的数字,则输出。若遍历完没有找到...
2018-08-26 12:49:07 143
原创 C/C++中数字与字符串之间的转化
数字与字符串之间的转化在C中:方法:C标准库中的sprintf,sscanf字符串转数字 sscanf #include<stdio.h>//字符串转数字void Testsscanf(){ //字符串转化为整数 char str1[] = "1234567"; int a; sscanf(str1,"%d",&a); printf("%d...
2018-08-25 14:46:55 5825
原创 字符串的排列&&翻转单词顺序列
字符串的排列题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。分析:这是个递归求解的问题。对于字符串的排列问题。如果能生成n-1个元素的全排列,就能生成n个元素的...
2018-08-24 14:07:26 398
原创 编程题--正则表达式
题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。分析:首先,考虑特殊请况:两个字符串都为空,返回true. 当第一个字符串不...
2018-08-24 13:30:03 355
原创 进程调度
这里简单介绍下,进程的调度原理,调度类型和常用的进程调度算法。进程调度 说道进程调度,我们或许都有个疑问,为什么需要进程调度呢?进程调度的作用是什么? 需要进程调度的理由很充分,即充分利用计算机系统中的CPU资源,让计算机能够多快好省的完成各种任务。为此,可在内存中存放数目远大于计算机系统内CPU个数的进程,让这些进程在操作系统的进程调度器下,能够让进程高效(...
2018-08-21 17:50:08 15784
原创 Unique-binary-search-trees问题
问题1:Unique-binary-search-trees题目描述Given n, how many structurally unique BST's (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique BST's. 1 ...
2018-08-21 10:10:42 519
原创 环境变量&进程程序替换
环境变量 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数。 如:我们在编写C/C++代码时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。本地变量 只能在当前进程使用。环境变量 在当前进程及其子进程中使用,环境变量通常具有某些特殊...
2018-08-18 23:28:28 576
原创 关于fork以及子shell继承环境变量的疑问
在shell里,有这样的说法“在我目前这个shell的情况下,去启用另一个新的shell,新的那个shell 就是子程序啦!在一般的状态下,父程序的自定义变量是无法在子程序内使用的。但是透过export将变量变成环境变量后,就能够在子程序底下应用了”。但是在C里,父进程调用fork()创建子进程,子进程成为父进程的副本,复制父进程的所有进程内存到其内存地址空间中。父、子进程的“数据段”,“堆栈...
2018-08-18 19:07:44 3465
原创 进程的概念和进程控制
这里将介绍进程的基本概念,什么是进程,如何描述和组织进程,接着讨论进程的状态,最后介绍进程 控制进程概念 1. 概念: a. 进程是程序的一次动态执行过程 b. 担当分配系统资源(CPU时间、内存)的实体。(从内存角度) 2. 描述进程---PCB 进程的信息被放在一个叫做进程控制块的数...
2018-08-18 18:37:12 5669
原创 基础IO
首先这里将对Linux下文件调用相关接口进行介绍,然后对比fd与FILE, 这里也会简单介绍下文件描述符和软硬链接相关的知识。首先复习C文件IO相关的操作。C文件IO FILE* fp = fopen("file", "rwa+"); //打开文件 fgetc(fp); fputc() //字符输...
2018-08-08 20:13:52 128
原创 重载、重写、重定义
重载 在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同 重定义(隐藏) 子类与父类同名的成员(成员函数或成员变量) 如果一个类,存在父类相同的函数,那么,这个类将会覆盖其父类的方法,除非你在调用的时候,强制转换为父类类型,否则试图对子类和父类做类似重载的调用是不能成功的。 重写 (覆盖) 在多态机制...
2018-08-01 16:40:00 145
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人