自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (5)
  • 收藏
  • 关注

原创 【算法】把字符串转换成整数,树中两个结点的最低公共祖先

本书最后的两道题,作者拿了两个面试案例来呈现,主要是要弄清面试官的意图、考虑周全,有些算法虽然容易,不要轻易下手。在此之上最好写出具有鲁棒性的和好的扩展性的代码,遵循编码规范。面试题67:把字符串转换成整数请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用atoi或者其他类似的库函数。#include<bits/stdc++.h>using na...

2018-10-24 20:27:01 414

原创 【位运算,递推】不用加减乘除做加法,构建乘积数组

面试题65:不用加减乘除做加法写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。加法本质是先各位相加不考虑进位,再把进位和前一步结果各位相加,如此反复直到不产生进位。第①步各位相加不考虑进位在二进制情形下和异或一样;第二步进位仅当二进制是1和1时向高位产生一个进位,故可以作与运算后左移一位,如此反复直到不产生进位。#include<bits/stdc+...

2018-10-24 18:57:41 242

原创 【语言特性】带限制地求1+2+...+n

就是一个利用语言特性的题,四种都是C++实现,第三个也可以用纯C实现。面试题64:带限制地求1+2+…+n求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解法一(构造函数)创建对象数组即可多次调用构造函数,在调用时操作静态成员。#include<bits/stdc++.h>using ...

2018-10-24 17:53:50 309

原创 【算法】扑克牌中的顺子,约瑟夫问题,股票的最大利润

面试题61:扑克牌中的顺子从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。大小王当成0,对其进行排序,统计相邻数字间的空缺总数能否被数组中的0填充。非0数字重复出现,数组一定不连续。#include<bits/stdc++.h>using namespace std;...

2018-10-24 15:40:38 636

原创 【交替数组】n个骰子的点数

选择合理的数据结构表述问题;分析模型中的内在规律,并用编程语言表述这种规律。面试题60:n个骰子的点数解法一用递归的方式,每次拿出一个骰子,对1~6点再调用下一层,递归到底更新总数的频数。基本就是一个排列树穷举,有大量的重复计算。作者递归出口是1,而且在第一步时没有减1,感觉非常难理解。我这里改成了递归出口是0,表示剩下0个骰子没判断过,在第一步时就减1,表示把第一个骰子判断了。#inc...

2018-10-24 12:17:41 491

原创 【队列】滑动窗口的最大值序列,带max函数的队列

窗口即队列,本质是一样的。面试题59-1:滑动窗口的最大值序列给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。例如,如果输入数组{2, 3, 4, 2, 6, 2, 5, 1}及滑动窗口的大小3,那么一共存在6个滑动窗口,它们的最大值分别为{4, 4, 6, 6, 6, 5}。用双端队列存储最大值的下标,双端队列在窗口滑动过程中变化更新,其队头元素表示当前窗口中最大值的下标。...

2018-10-23 20:51:05 757

原创 【字符串】翻转单词顺序,左旋转字符串

面试题58-1:翻转单词顺序输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。先对整个字符串翻转,再对字符串中的每个单词做翻转。#include<bits/stdc++.h>using namespace std;//翻

2018-10-23 17:00:34 573

原创 【贪心法】和为s的两个数字,和为s的连续正整数序列

面试题57-1:和为s的两个数字输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。两个游标一个在数组最左一个在最右,分别指示最小和最大的数。在循环里每次检查他们的加和,如果小了就把左边游标向右移,因为此时左边游标及其左边的所有数都不可能和当前右边游标及其左边的所有数组成符合条件的数对:而左边游标以左与右边游标以右能...

2018-10-23 14:08:33 402

原创 【位运算】复制数组中数字出现的次数

数组中大部分数字都重复出现了k次,这里不妨叫k复制数组。面试题56-1:二复制数组中只出现一次的两个数字一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。用按位异或运算,一个数字按位异或它自己就是0,然后0异或某个只出现一次的数字还是那个数字。按位异或运算具有交换性,所以数组里所有数字按位异或最后得...

2018-10-23 10:44:04 482

原创 【二叉树】BST的第k大结点,二叉树的深度,平衡二叉树

面试题54:二叉搜索树的第k个结点给定一棵二叉搜索树,请找出其中的第k大的结点。左边都比中间小,右边都比中间大,所以用中序遍历(左中右)就可以实现按结点的值从小到大遍历,遍历时候进行计数即可。#include<bits/stdc++.h>#include "../Utilities/BinaryTree.h"using namespace std;//递归函数:输入...

2018-10-23 08:58:37 1116

原创 【二分查找】在排序数组中查找数字

排序数组里很多二分查找的题目,不能把排序这个性质浪费了。面试题53-1:数字在排序数组中出现的次数统计一个数字在排序数组中出现的次数。例如输入排序数组{1, 2, 3, 3, 3, 3, 4, 5}和数字3,由于3在这个数组中出现了4次,因此输出4。二分查找第一个k和最后一个k,计算它们的距离再+1。#include<bits/stdc++.h>using namespa...

2018-10-19 20:46:54 1567

原创 【归并排序,同步指针】数组中的逆序对,两个链表的第一个公共结点

面试题51:数组中的逆序对在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。分成长度1的子数组,在合并之前统计相邻子数组之间的逆序对个数,然后让它们升序合并,升序的最大的一定在最后面,然后再如此反复即可。具体图解见书上。#include<bits/stdc++.h>using namespace std...

2018-10-19 19:20:33 315

原创 【打表】第一个只出现一次的字符与字符流内实现

面试题50:第一个只出现一次的字符在字符串中找出第一个只出现一次的字符。如输入"abaccdeff",则输出’b’。输入一共就256种ASCII字符,第一遍扫描把出现次数记到数组里,第二遍边扫描边到数组里去找。#include<bits/stdc++.h>using namespace std;//输入字符数组地址,输出寻找到的第一个只出现一次的字符 char Fir...

2018-10-19 16:24:16 286

原创 【DP,记忆化】最长不含重复字符的子字符串,丑数

面试题48:最长不含重复字符的子字符串请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。假设字符串中只包含从’a’到’z’的字符。用f(i)表示以i位置字符结尾的最长不含重复字符的子字符串的长度,则所求的就是i从0~n-1中最大的一个f(i)。在遍历数组时,记录每个字符最后一次出现的位置。①当i号字符之前没有出现过时,f(i)=f(i-1)+1。②当之前出...

2018-10-19 14:52:02 713

原创 【Linux学习笔记】45:VMware中CentOS7配置桥接模式/仅主机模式/NAT模式

关于三种模式的辨析见实例讲解虚拟机3种网络模式(桥接、nat、Host-only),本文主要记录配置方式。桥接模式宿主机上ipconfig /all查看网络和适配器信息:在VMware中修改要桥接到的适配器:在虚拟机中ifconfig查看网卡名称,我这里是ens33。然后编辑/etc/sysconfig/network-scripts/下相应的配置文件,这里即是ifcfg-ens33...

2018-10-16 14:11:50 3029 2

原创 【TensorFlow学习笔记】1:注解MNIST手写数字分类

跟着官方文档敲了MNIST手写数字识别的两个TF程序,没接触之前还以为底层计算也是使用的Python,原来Python只是用来描述计算图和何时计算的。虽然Tensor翻译过来就是张量,但目前还是不理解它和我们认知的张量有什么关系,暂且理解成一个数据容器,可以存储多维的数据,还有一些TF中特殊的操作。Placeholder就是用于数据输入的位置,先占位才构建出整个图来。Variable用来创建模...

2018-10-08 21:03:57 371

原创 【Python学习笔记】34:函数参数、闭包、lambda函数、装饰器、偏函数

函数参数位置参数一般写的函数调用按顺序传入参数,这种参数就是位置参数,即通过位置来知道这个参数是传给哪个参数的。pow(x,n)默认参数即为参数设定默认值,具有默认值的参数可以不传入,所以必选参数在前,默认参数在后。廖老师提到"变化大的参数放前面,变化小的参数放后面",但我觉得还是要视函数各个参数的实际意义和语义来考虑。pow(x,n=2)默认参数必须指向不变对象,因为默认参数的...

2018-10-05 14:18:56 308

原创 【Python学习笔记】33:生成器、迭代器、高阶函数

生成器生成器(generator)相比列表推导式,只占用很小的空间,因为它是一边循环一边推算,通过next()调用下一元素,并在结束时抛出StopIteration异常,在语法上只要把[]换成()即可。a = (i * i for i in range(10))print(a) # 生成器对象,不能直接输出# 用"next(生成器)"或者"生成器.__next__()"来返回下一个元素...

2018-10-04 11:51:36 282

算符优先分析法

设有文法G[S]:S→SaF | F F→FbP | P P→c | d (1) 构造G[S]的算符优先关系表 (2) 分别给出cadbdac# 和 dbcabc# 的分析过程

2018-05-22

已经整合好的小型S2SH框架(完全注释+依赖jar包)

已经将Struts2和Hibernate与Spring整合,测试可用。含三个框架的核心依赖jar包,不含JDBC驱动,测试例子是用MySQL作为数据库的。请自行更换数据库,添加驱动,修改Hibernate设置和数据库配置。 含有大量注释,适合学生立即上手开发课程项目。

2018-05-13

举例说明汇编语言子程序递归调用过程中堆栈内容的变化过程

上海大学课程研讨,题目是举例说明汇编语言子程序递归调用过程中堆栈内容的变化过程。上海大学课程研讨,题目是举例说明汇编语言子程序递归调用过程中堆栈内容的变化过程。

2017-12-03

有关ADSL与调制技术

有关ADSL和相关的调制技术,计算机网络研讨课演讲PPT。

2017-10-04

有关Linux进程家族树

操作系统课程研讨PPT,有关Linux进程家族树的形成,服务的自动开启。操作系统课程研讨PPT,有关Linux进程家族树的形成,服务的自动开启。操作系统课程研讨PPT,有关Linux进程家族树的形成,服务的自动开启。

2017-10-03

空空如也

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

TA关注的人

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