试编写一个算法,判别给定的二叉树是否是二叉搜索树,二叉树的遍历算法例题
题目一
数组题——查找数组中交集
根据给定的两个数组按照指定条件查找它们的交集并返回
具体题目如下
解法
class Solution { public int[]intersection(int[]nums 1,int[]nums 2){ int[]a=new int[1000];HashSetInteger set=new HashSetInteger();for(int I=0;inums 1。长度;I){ if(a[num S1[I]]==0){ a[num S1[I]]=1;} } for(int I=0;inums 2。长度;i ){ if(a[nums2[i]]!=0){ set。add(nums 2[I]);} } int[]w=new int[set。size()];int p=0;迭代器整数迭代器=集。迭代器();while(迭代器。has next()){ w[p]=迭代器。next();p;}返回w;}}
题目二
数组题——查找数组中交集
根据给定的两个数组按照指定条件查找它们的交集并返回
具体题目如下
解法
class Solution { public int[]intersect(int[]nums 1,int[]nums 2){ int[]a=new int[1001];ArrayListInteger list=new ArrayListInteger();for(int I=0;inums 1。长度;I){ a[nums 1[I]]=1;} for(int I=0;inums 2。长度;I){ if(a[nums 2[I]]0){ list。add(nums 2[I]);a[nums 2[I]]-;} } int[]w=new int[list。size()];for(int j=0;jw.lengthj){ w[j]=list。get(j);}返回w;}}
题目三
概率题——猜数字
根据给定的猜数字规则编写函数比较猜数大小
具体题目如下
解法
/* * *猜测API的正向声明.* @ param num你猜* @如果数字低于猜测数则返回-1 *如果数字高于猜测数则返回1 *否则返回0 * int guess(int num);*/公共类解决方案扩展猜谜游戏{ public int guess number(int n){ int left=1;int right=n;while(left=right){ int mid=left(右-左)/2;if(guess(mid)==-1){ right=mid-1;} if(guess(mid)==1){ left=mid 1;} if(guess(mid)==0){ return mid;} }返回0;}}到此这篇关于剑指提供之爪哇算法习题精讲二叉搜索树与数组查找的文章就介绍到这了,更多相关爪哇二叉搜索树内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。