自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

转载 试题18:树的子结构

点击打开链接题目描述:  输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)。解题思路:  首先看牛客网给出的测试用例:     一般对于树的操作不像链表一样,操作更复杂,如果使用循环遍历的话,对于非完全二叉树规律难寻,一般通用的方法就是使用递归求解,本题也不例外,同样使用递归求解,求解的大体思路是首先判断

2017-10-05 20:34:44 197

原创 试题17:合并两个排序的链表

题目大致为:输入两个递增排序的链表,合并这两个链表并使得新链表中的结点仍然按照递增排序的。思路:主要是链表中值的比较,取较小的结点插入到新的链表中。public class Test17 { //使用递归解决此问题 public ListNode merge(ListNode head1,ListNode head2){ // 如果有一个为空,则为另一个链表

2017-10-05 20:27:57 214

原创 试题16:反转链表

题目大致为:    对于一个链表,反转该链表并返回头结点。思路:    主要是指针的操作,但是要注意不能断链。这里可以使用非递归的方式求解。public class Test16 { public ListNode reverse(ListNode head){ if (head==null) { return null; } ListNode reve

2017-10-05 19:43:04 219

原创 试题15:链表中倒数第k个结点

题目大致为:    在一个链表中,查找倒数的第k个数。思路:    设置两个指针node1与node2,先使node1向前走k-1步,然后两个指针同时向前走,各自都是走一步。当node1到结尾时,node2刚好指到倒数第二个。public class Test15 { public ListNode findKnum(ListNode head,int k){

2017-10-05 19:05:08 193

原创 试题14:调整数组顺序使奇数位于偶数前面

题目大致为:    对于一个数组,实现一个函数使得所有奇数位于数组的前半部分,偶数位于数组的后半部分。思路:    使用双指针的方式,一个指针指向数组的开始,一个指针指向数组的尾部, 如果头部的数为偶数且尾部的数是奇数则交换(&&),    否则头部指针向后移动,尾部指针向前移动,直到两个指针相遇.public class Test14 { public void a

2017-10-05 19:00:53 212

原创 试题10:计算二进制中1的个数

实现一个函数,输入一个整数,输出该数二进制表示中1的个数。思路:    把一个整数减去1,再和原整数做与运算,会把最右边public class Test10 { //此方法可能会引起死循环,输入的数值是负数时。 public int oneNum(int n){ int count=0; while(n!=0){ if ((n&1)==1) { count++

2017-10-04 20:00:37 322

原创 试题9:斐波那契数列

菲波那切数列是每一个学C语言的人都特别熟悉的一个问题。思路:   方式一: 用递归实现的过程中会出现重复计算的情况,此时,   方式二:可以利用动态规划的思想,保存中间结果,这样可以避免不必要的计算。public class Test09 { //传统的递归算法的求解 public long fibnacci(int n){ if (n<=0) {

2017-10-04 19:42:42 420

原创 试题7:用两个栈实现队列+使用两个队列实现栈

用两个栈实现队列的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除结点。public class Test07 { Stackstack1=new Stack<>(); Stackstack2=new Stack<>(); public void appendTail(int key){ stack1.add(key);//在队列尾部

2017-10-04 19:09:28 231

转载 CentOS网络设置 couldn't resolve host 'mirrorlist.centos.org问题解决

转载:点击打开链接在VMWare上安装好centos后,使用yum安装nodejs报错:can not resolve host 'mirritlist.centos.org',百度上很多都说在/etc/resolv.conf文件末尾添加nameserver 8.8.8.8 nameserver 8.8.4.4 serchdomain localdomain,然并卵。其实只

2017-10-04 10:23:45 439

原创 试题5:从尾到头打印链表

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。  方法一:非递归的方式 //后进先出:使用栈进行操作 public void printFromEnd(ListNode head){ if (head==null) { return; } ListNode nextNode=head; Stackstack=new Stack<>(); whil

2017-10-03 21:37:03 210

原创 试题4:替换空格

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“We are happy.”,则输出“We%20are%20happy.”public class Test04 { //从字符串的后面开始复制和替换 public static String replace(String str){//a b c if (str==null) { return null

2017-10-03 21:28:26 272

原创 试题3:二维数组中的查找

题目:在一个二维数组中,每一行按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请输入一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数.public class Test03 { public static boolean findNum(int [][]a,int rows,int columns,int key){ //rows 与columns表

2017-10-03 21:03:59 225

转载 计算机网络面试集锦

作者:奔跑吧牛客链接:https://www.nowcoder.com/discuss/1937?type=0&order=0&pos=40&page=4来源:牛客网OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。

2017-08-31 15:44:13 334

原创 华为秋招2017年8月份笔试(三)

1.3 字母计数法:某种场景下,开发人员决定使用字母表示一个正整数,该方法利用英文的小写字母表示,映射规则很简单, 按字母顺序每一个字母都代表一个值,如下所示列表的部分内容:a 1b 2c 3...z 26aa 27ab 28...huawei 104680767...函数原型:Void convertTo26(const char

2017-08-31 15:28:19 2364 3

原创 华为秋招2017年8月笔试

1.1 拼音与英文互相转换编写一个拼音与英文互相转换的函数,如果输入的电话号码是英文单词,输出对应的电话号码的中文拼音。如果输入的电话号码是中文拼音,输出对应的电话号码的英文单词。例如:输入“DoubleOneTwoThreeFour”,则输出”YiYiErSanSi“。1.2 拼音、英文读法表Yi Er San Si Wu Liu Qi Ba Jiu One Two Thre

2017-08-31 15:25:46 758

原创 通过JDBC访问数据库

JDBC ---  Java DataBase Connectivity   /  Java数据库链接通过JDBC访问数据库一般有以下几步:1)加载JDBC驱动器。将 mysql-connector-java-5.1.32-bin.jar 包放入WEB-INF/lib目录下2)加载JDBC驱动,将目标注册到DriverManager中。一般使用反射机制class.forName

2017-08-15 21:03:22 198

转载 Struts2三种传参方式(从jsp页面传到Action)

struts.xml代码<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd"> <action name="*_*" class="com.wepull.struts

2017-08-15 09:05:34 384

原创 Java中关键字 static 与final 易错点

关于Java的学习,个人算是接触一段时间了,基础的东西最近有所模糊,此文用于个人记忆使用。1. static 关键字作用:(static表示‘全局’或者‘静态’的意思) 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因

2017-06-03 21:26:13 791

原创 数据结构与算法 -- 哈夫曼树

哈夫曼树 哈夫曼树(Huffman)又称为最优树,是一种带权路径长度最短的树。哈夫曼树的构造过程如下图:

2017-04-09 10:47:12 826

原创 数据结构与算法-- 第五章 树

1.树     是有限个结点的集合。2.有关树的概念结点、度、叶子结点、父结点、孩子结点、兄弟结点、树的深度等。此节主要介绍 树中的常用树 -----------   二叉树3. 二叉树1)每个结点最多有两棵子树。2)左子树与右子树是有顺序的,不能颠倒。3)即使树中某结点只有一棵子树,也要区分是左子树还是右子树3.1满二叉树  与  完全二叉树 区别满二叉树

2017-04-09 10:40:32 405

转载 115个Java面试题和答案

115个Java面试题和答案——终极列表(上) http://www.importnew.com/10980.html#gc115个Java面试题和答案——终极列表(下)http://www.importnew.com/11028.html

2017-04-08 16:47:39 325

原创 数据结构与算法-第四章 栈

1. 栈   [先进后出 / 后进先出]栈(stack)是限定仅在表尾进行插入和删除操作的线性表。将允许插入和删除的一端称为栈顶,另一端称为栈底,当不含任何数据元素时为空栈。栈的主要操作:Push   入栈Pop     出栈 [删除栈顶元素]isEmpty  判断是否为空Top        取栈顶元素2. 栈 种类(1)顺序栈   [用数组实现]

2017-04-07 18:26:57 247

原创 数据结构与算法 - 递归

1. 递归(自己调用自己)迭代[就是不断循环]例:计算阶乘  ( n!=n * (n-1) ! )用递归实现://递归法求n的阶乘 public int Multi(int n){ if (n==0) { return 1; } return n*Multi(n-1); }用迭代实现://迭代法求n的阶乘 public int Mul

2017-04-07 16:21:32 361

原创 数据结构与算法-第八章 查找

1.顺序查找没有排序的数据,只能顺序查找,速度比较慢。//顺序查找 未排序的数据 public int sequenceFind(int []arr,int x){ if (arr.length<=0) { return -1; } for (int i = 0; i < arr.length; i++) { if (x==arr[i]) { retur

2017-04-06 17:36:41 362

原创 数据结构与算法-第九章 排序

低级排序:冒泡排序、选择排序、插入排序高级排序:1. 冒泡排序排序思想:从左到右进行扫描,选择最大的数据,放在右边。代码要点:相邻的数据两两进行比较,如果左边的比右边的大,将俩数进行交换。冒泡类似于湖底的泡泡逐渐冒到湖面,序列中的最小的值冒到最前面,最下面是最大值。O(N^2)//冒泡排序 相邻的两个值相互交换public void get

2017-04-06 17:16:09 400

原创 MVC模式

个人的理解及笔记:MVC :model view control(模型、视图、控制)JSP model2中是:JSP、Servlet、JavaBean.JSP生成表示层的内容以显示数据,Servlet实现业务逻辑控制,处理客户请求,充当控制器的角色,JavaBean充当模型,用于数据的存储与提取。

2016-12-10 21:27:20 338 1

原创 20:查找兄弟单词

输入描述:先输入字典中单词的个数,再输入n个单词作为字典单词。输入一个单词,查找其在字典中兄弟单词的个数再输入数字n输出描述:根据输入,输出查找到的兄弟单词的个数#include #include #include #include #include using namespace std; vector dict; bool is_friend(s

2016-09-27 15:24:57 680

原创 ++i 与 i++ 效率的问题

++i的效率高些,++i在运算过程中不产生临时对象,返回的就是i,是个左值,类似++i=1这样的表达式是合法的,而i++在运算的过程中会产生临时对象,返回的是零时对象的值,是个右值,像i++=1这样的表达式是非法的。对于内置类型,单独的i++和++i语句,现在的编译器基本上都会优化成++i,所以就没什么区别了 解析:在这里声明,简单的比较前缀自增运算符和后缀自增运算符的效率是片面的

2016-09-27 15:17:02 443

原创 memmove 、 memcpy 的区别

memmove()和memcpy() 都是C语言的库函数,在头文件string.h 中,作用是拷贝一定长度的内存的内容, 原型分别如下:       void *memcpy(void *dst , const void *src, size_t count);         void *memmove(void *dst , const void *src, size_t count)

2016-09-27 14:41:38 360

原创 c++深拷贝、浅拷贝

1)浅拷贝就比如像引用类型,而深拷贝就比如值类型。浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,一个人一开始叫张三,后来改名叫李四了,可是还是同一个人,不管是张三缺胳膊少腿还是李四缺胳膊少腿,都是这个人倒霉。深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。

2016-09-27 14:17:59 388

原创 抽象容器类型

顺序容器:List \ Vector\双端队列deque 关联容器:map(映射)\set(集合)1. map 是一个 键/值 对,键 用于查询,值 包含我们使用的数据。2. set 包含一个单一的键,支持元素是否存在的查询。map 和 set 都只包含每个键的惟一出现,即每个键只允许出现一次。

2016-09-22 17:54:51 364

原创 18:实现删除字符串中出现次数最少的字符

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出描述:删除字符串中出现次数最少的字符后的字符串。输入例子:abcdd输出例子:dd #include#includeusing n

2016-09-22 14:06:28 1487

原创 17:汽水瓶

#include#includeusing namespace std;//三个空汽水瓶可以换一瓶汽水。int ChangeWater(int num)//num个空瓶{ if(num<2) return 0; if(num==2)//借一瓶, 喝完还上 return 1; return ChangeWater(num-2)+1;//使用递归处理}int mai

2016-09-22 13:41:48 331

原创 16:简单密码

[编程题]简单密码   密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的

2016-09-22 12:09:32 555

原创 15:密码验证合格程序

密码验证合格程序 密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG输入例子:021Abc9000021Abc9Abc1021ABC9000021$bc9000输

2016-09-22 11:47:58 469

原创 14:求int型正整数在内存中存储时1的个数

题目描述输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。 输入描述: 输入一个整数(int类型)输出描述: 这个数转换成2进制后,输出1的个数输入例子:5#include#includeusing namespace std;int main() { int n,k,count; vectorivec; while(ci

2016-09-21 17:51:10 523

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

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

2016-09-21 17:39:29 353

原创 12:字符串逆向输出

#include#includeusing namespace std;int main() { string str; int j,k,i; while(getline(cin,str)) { for( i=str.size()-1,k=i;i>=0;--i) { if(str[i]==' ') { for(

2016-09-21 17:26:56 402 1

原创 11.数字颠倒

题目描述描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出输入例子:1516000输出例子:0006151#include#include#includeusing names

2016-09-21 14:36:37 415

原创 10:字符个数统计

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。输入描述:输入N个字符,字符在ACSII码范围内。输出描述:输出范围在(0~127)字符的个数。输入例子:abc输出例子:3#include#includeusing namespace std;int Count(string str ){

2016-09-21 12:10:43 1592 1

空空如也

空空如也

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

TA关注的人

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