![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
AQH~
学习中寻找快乐。。。
展开
-
数组中的逆序对(时间空间效率的平衡)
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,size<=2*...原创 2018-07-09 09:36:19 · 243 阅读 · 0 评论 -
经典回顾(一)
依稀的记得河南省第七届ACM省赛的第一题《物资调度》,貌似可以用dfs水过,但是后来发现可以用dp解决。现在在做面试题的时候又遇到了类似的问题。突然发现这题原来也不过如此,我也能把动态转移方程给推出来了。方法一:dfs,每个数都有取和不取两种状态。如果数据太大(2^n),一定会超时。/*#include<iostream>using namespace std;int...原创 2018-09-28 14:28:44 · 418 阅读 · 0 评论 -
最大连续子序列的和
1、单调递增子序列(dp)。2、最长公共子序列(dp)。3、最大连续子序列的和(dp)。上述问题,都是经典的dp算法实例,但是针对问题的变形,就很难再用dp来处理了,反正我不会,暴力出奇迹,可以用分治的方法同样解决问题1和3。①最大连续子序列的和;最大连续子序列的和,要求个数必须大于1;最大连续子序列的和的绝对值,要求可以改变k个元素的正负号。思路:前两种,我以前总结过。第三种,这...原创 2018-09-25 12:36:23 · 4058 阅读 · 0 评论 -
小试牛刀(一)
1、有10张饼,每天至少吃一张,问第三天吃完的概率(36/512)思路:这里的三天吃完,是指恰巧第三天吃完;那么第一天最多吃8张,剩下两天对应的只有1种情况,第一天吃7张,剩下两天对应的有2种情况,第一天吃6张,剩下两天对应的有3种情况,同理依次类推:1+2+3+4+5+6+7+8=36。10张饼一共有多少种吃发?可以第1天吃完,可以两天吃完,可以三天吃完......最多十天吃完。方法...原创 2018-09-17 15:02:13 · 1288 阅读 · 0 评论 -
平衡二叉树(AVL树)
1、二叉排序树(BST)左子树上所有结点的值均小于它的根结点的值;右子树上所有结点的值均大于它的根结点的值;2、平衡二叉树(AVL)如上图,都是BST树,但是针对右图的查询,时间复杂度会从O(logN)退化到O(N),所以就引出了平衡二叉树;平衡二叉树是在BST基础上引出的,满足条件是:每个节点左右子树高度差的绝对值不能超过1。其实吧,AVL树的定义不一定非得是BST树,只要满足左...原创 2018-09-25 10:28:33 · 1162 阅读 · 0 评论 -
IEEE754标准浮点数转换
IEEE754标准是一种浮点数表示标准,一般分为单、双精度两种,单精度是32位的二进制数,双精度是64位的二进制数,一个浮点数的组成分为三个部分①第1位是数符s,s=1表示负数,s=0表示正数。②第2-9位为阶码E, (双精度为2-12位)③第10-32位为尾数M (双精度为13-64位)转换大致过程如下:首先将十进制数转为二进制数,用类似于科学计数法的形式表示成num=(-1)^s...原创 2018-08-02 16:13:13 · 33308 阅读 · 2 评论 -
扑克牌顺子(抽象建模能力)
题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K...原创 2018-08-09 08:05:31 · 190 阅读 · 0 评论 -
RMQ、树状数组、线段树
1、线段树(区间求和、区间最大值、区间最小值)2、树状数组3、RMQ(区间最大值、区间最小值)原创 2018-07-16 09:06:05 · 574 阅读 · 0 评论 -
华为2016校园招聘上机笔试题
1老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.思路:①区间最大值,点更新。这里是最简单的,其实还有区间求和,区间最大值,区间最小值,点更新,区间更新。可以用线段树、树状数组、RMQ①这里只简单说明一下区间最大值和点更新,剩余的放在下一个篇详细介绍。②就用线段树吧,n个数据,就是n个叶子节点存放数据。父节...原创 2018-07-10 09:46:03 · 2864 阅读 · 0 评论 -
华为研发工程师编程题
1有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 思路题意很清楚,...原创 2018-07-09 10:41:10 · 218 阅读 · 0 评论 -
求幂(京东2018秋招)
东东对幂运算很感兴趣,在学习的过程中东东发现了一些有趣的性质: 9^3 = 27^2, 2^10 = 32^2东东对这个性质充满了好奇,东东现在给出一个整数n,希望你能帮助他求出满足 a^b = c^d(1 ≤ a,b,c,d ≤ n)的式子有多少个。例如当n = 2: 1^1=1^11^1=1^21^2=1^11^2=1^22^1=2^12^2=2^2一共有6个满足要求的式子...原创 2018-10-09 08:41:07 · 1011 阅读 · 0 评论