摘要: 1 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 2 思路和方法 (1)异或:除了有两个数字只出现了一次,其他数字都出现了两次。异或运算中,任何一个数字和自己本身异或都是0,任何一个数字和0异或都是本身。 (2)哈希表。unordered_m 阅读全文
posted @ 2019-08-28 00:42 wxwreal 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 2 思路和方法 平衡二叉树,又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找, 阅读全文
posted @ 2019-08-27 23:52 wxwreal 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 2 思路和方法 深度优先搜索,每次得到左右 阅读全文
posted @ 2019-08-27 23:09 wxwreal 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 统计一个数字在排序数组中出现的次数。 2 思路和方法 (1)查找有序数组,首先考虑使用二分查找,使时间复杂度为O(log n)。更改二分查找的条件,不断缩小区间,直到区间头和区间尾均为k时停止,计算得到区间长度。O(n*log(n))。 (2)两行代码就搞定,就是用C++ stl里面的 阅读全文
posted @ 2019-08-27 22:51 wxwreal 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入两个链表,找出它们的第一个公共结点。 2 思路和方法 方法一: 用两个指针同时从两个链表的表头开始走,当走到自己的链表结尾的时候开始从另一个链表的表头开始向后走。终止条件就是两个指针第一次相遇。此时指针位置即为所求。(两个链表的节点和是一定的,所以两个指针一定可以同时遍历完两条链表 阅读全文
posted @ 2019-08-27 22:41 wxwreal 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 2 思路和方法 利用归并排序的思想,先把数组分隔成子数组,先统计出子数组内部的逆序 阅读全文
posted @ 2019-08-27 22:18 wxwreal 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)。 2 思路和方法 ch[str[i]]++; if(ch[str[i]]==1) return i; 3 C++核心代码 1 class 阅读全文
posted @ 2019-08-27 21:58 wxwreal 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 2 思路和方法 数值:1 2(1*2) 3(1*3) 4(2*2) 5 (1*5) 6(3*2) 8( 阅读全文
posted @ 2019-08-27 20:59 wxwreal 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 2 思路和方法 因为要拼接int数字,所以这里面涉及到int越界问题,所以题目返回string;主要是制定比 阅读全文
posted @ 2019-08-27 17:53 wxwreal 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1 题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 阅读全文
posted @ 2019-08-27 01:29 wxwreal 阅读(317) 评论(0) 推荐(0) 编辑