9.11排序与查找(八)——找出数字x的秩(小于或等于x的值的数目)
来源:互联网 发布:湖北大数据问责汇报 编辑:程序博客网 时间:2024/05/21 19:49
/**
* 功能:假设你正在读取一串整数。每隔一段时间,你希望能找出数字x的秩(小于或等于x的值的数目)。
* 实现track(int x)方法,没读入一个数字就会调用该方法;以及getRankOfNumber( int x)方法,返回值为小于或等于x的元素个数(不包括x本身)。
*/
*/
/** * 思路:采用二叉查找树 * 执行中序遍历,并在访问结点时利用计数器记录数量,找到x时,计数器变量将会是小于x的元素的数量。 * 在查找期间,如果向左移动,计数器不会变,因为右边跳过的所有指都比x大。 * 向右移动时,跳过了左边的一堆元素,因此必须增加计数器的值,这个值等于左子树的元素个数。 */private static RankNode root=null;public static void track(int number){if(root==null)root=new RankNode(number);elseroot.insert(number);}public static int getRankOfNumber(int number){return root.getRank(number);}
class RankNode{int leftSize=0;RankNode left,right;int data=0;public RankNode(int d){this.data=d;}public void insert(int d){if(d<=data){if(this.left==null)left=new RankNode(d);elseleft.insert(d);}else{if(this.right==null)right=new RankNode(d);elseright.insert(d);}}public int getRank(int d){if(d==this.data)return this.leftSize;else if(d<this.data){if(left==null)return -1;else return left.getRank(d);}else{if(right==null)return -1;elsereturn this.leftSize+1+right.getRank(d);}}}
0 0
- 9.11排序与查找(八)——找出数字x的秩(小于或等于x的值的数目)
- 【Java】假设你正在读取一串整数,每隔一段时间,你希望找出数字X的秩(小于或等于x的值的数目)。
- 假设你正在读一串整数,每个一段时间,希望能找出数字x的秩(小于或等于x的值的数目)
- 2014 GCJ Round 1B New Lottery Game(数位dp,x小于等于A,y小于等于B,并且x&y值小于等于K的数字个数)
- 【欧拉函数】(小于或等于n的数中与n互质的数的数目)
- 9.2链表(四)——以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的节点之前
- 值x将链表划分为两部分,小于x的结点排在大于或等于x 的结点之前
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- c语言取整数,小于等于x的最大整数
- (POJ1321) 棋盘问题 <DFS ,八皇后问题的变形,皇后数目小于等于行数即有些行可以不放>
- 读取一串整数,寻找合适的数据结构和算法,实现插入元素track(int x) 方法,以及GetRankOfNumber(int x)方法,返回值为小于等于x的元素个数(不包括x本身)
- 数组与矩阵---未排序数组中累加和小于或等于给定值的最长子数组问题
- 谓词定义中过滤的常用方法, 大于,小于,等于, XX 和 XX,XX 或XX,X 开头, X 结尾,包含 X等
- 给定一个链表和一个值x,对它进行分区,使得小于x的所有节点都在大于或等于x的节点之前.保留两个分区中的每一个节点的原始相对顺序。
- 天声人語 20150824
- 压缩感知(Compressive Sensing)学习之(二)
- 黑马程序员-[OC]学习之旅-NSString使用和方法
- OJ刷题---罗马数字转十进制
- 存储过程中的declare
- 9.11排序与查找(八)——找出数字x的秩(小于或等于x的值的数目)
- 压缩跟踪Compressive Tracking
- 设置星级评价
- hdoj 1719 Friend【数学题】
- 循环数组时,删除符合条件的当前元素
- Order of Evaluation
- 手机访问NFC-SIM卡的SE
- css属性image-redering详解
- jmap命令详解