名企编程笔试题
来源:互联网 发布:人人商城小程序源码 编辑:程序博客网 时间:2024/05/18 20:06
写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。
package alibaba.a0727;public class Demo01 { int maxValue(BinNode root){ if(root == null) return 0;//其实应该返回最小负整数,这里假设0为最小值 int left = maxValue(root.getLeft());//返回左节点最大值 int right = maxValue(root.getRight());//返回右节点最大值 int max = left>right?left:right; //左右节点的最大值与根值进行比较 return max>root.getValue()?max:root.getValue(); } int minValue(BinNode root){ if(root == null) return 32767; int left = minValue(root.getLeft()); int right = minValue(root.getRight()); int min = left<right?left:right; return min<root.getValue()?min:root.getValue(); } //先递归找到最大值,在递归找到最小值 int diff(BinNode root){ return maxValue(root)-minValue(root); }}class BinNode{ BinNode left,right; int value; public BinNode getLeft() { return left; } public void setLeft(BinNode left) { this.left = left; } public BinNode getRight() { return right; } public void setRight(BinNode right) { this.right = right; } public int getValue() { return value; } public void setValue(int value) { this.value = value; }}
给定一个 query 和一个 text,均由小写字母组成。要求在 text 中找出以同样的顺序连 续出现在 query 中的最长连续字母序列的长度。例如, query 为“acbac”,text 为“acaccbabb”,那么text 中的“cba”为最长的连续出现在 query 中的字母序列,因此, 返回结果应该为其长度 3。请注意程序效率。
package alibaba.a0727;public class Demo02 { public static int maxLengthInQuery(char[] query,char[] text){ int[] length = new int[text.length]; //第一趟只有第一个字符,第二趟前两个字符 for(int i = 0;i<text.length;i++) { int size = 0; int temp = i;//暂存i //从最后一个字符开始比较 for(int j = query.length-1;j >= 0;){ if(text[i] == query[j]) { size++; i--; j--; if(i<0){ break;//说明i所在text中字符比较完了 } } else { if( j == query.length - 1){ while(query[j] != text[i]) j--; }else{ break; } } } length[temp] = size; i = temp; } return Max(length); } public static int Max(int[] arr){ int max = arr[0]; for(int i = 1;i<arr.length;i++){ if(arr[i] > max) max = arr[i]; } return max; } public static void main(String[] args) { char[] query = {'a','c','b','a','c'}; char[] text = {'a','c','a','c','c','b','a','b','b'}; System.out.println(maxLengthInQuery(query, text)); }}
0 0
- 名企编程笔试题
- 名企笔试题
- 名企笔试:腾讯2016秋招笔试编程题 2017-03-04 算法爱好者
- 名企笔试:百度2017春招笔试真题编程题(买帽子)2017-05-17 算法爱好者
- 名企笔试:百度2017春招笔试真题编程题(度度熊回家)2017-05-18 算法爱好者
- 名企笔试:2016奇虎360研发工程师内推笔试编程题(出现一次的字符)
- 名企笔试:网易2017内推笔试编程题(合唱团)2017-03-11 算法爱好者
- 名企笔试:2017美团java工程师笔试编程题(特殊运算)2017-03-02 算法爱好者
- 名企笔试:2015携程Java工程师笔试题
- 名企笔试:2016网易招聘笔试题(奖学金)
- 名企笔试:Amazon笔试题(Count the elements)
- 名企笔试:Aamazon笔试题(Number of Groups )
- IT名企面试:腾讯笔试题
- IT名企面试:微软笔试题
- IT名企面试:IBM笔试题
- IT名企面试:腾讯笔试题
- IT名企面试:腾讯笔试题
- IT名企面试:腾讯笔试题
- The C Programming Language 第三章控制流 读书笔记
- FirstChildElement() http://baike.baidu.com/link?url=VdlvQlGU-NGLshFepuft_u3MRdjZ9CAfGhOYuL915Oo-9pb
- 电影TS、TC、SCR、R5、BD、HD等版本是什么意思
- poj 3259 spfa/bellman判断负圈(虫洞)
- ios学习(block)
- 名企编程笔试题
- Leetcode 152 Maximum Product Subarray
- shell下的mysql
- 成员初始化列表顺序
- Java基础之集合函数-Map
- C++错误:不允许使用不完整的类型
- java网络编程一:Socket用法,简单模拟一对一聊天
- HDU5319.Painter
- Indeterminate的解决