首页 > 编程知识 正文

华为java面试题,华为java笔试题

时间:2023-05-04 15:12:39 阅读:120162 作者:2351

文章列表01计算判断有向图中是否有环问题构想代码02的算术式问题构想代码

01判断有向图中是否有环主题

输入:顶点数、边数、路径

输出:有环、输出" true "、无环输出" false "

拓扑排序首先从输入次数为0的顶点开始,然后在出现输入次数为0的顶点时进行队列代码import java.util.*; public class demo1{ publicstaticvoidmain (字符串[ ] args ) scannersc=newscanner ) system.in ); while(sc.hasnext () (intpoint=integer.parseint ) sc.nextline ) ); int edge=integer.parseint (sc.nextline ) ); String line=sc.nextLine (; judge(point,edge,line ); } privatestaticvoidjudge (intpoint,int edge,String line ) ({ String []nums=line.split ) () () ) ) ) ) ) //内存映射int [ ] [ ] g=new int [ point1] [ point1]; for(intI=0; i=nums.length-2; I ) introw=integer.parseint (nums [ I ]; intcol=integer.parseint (nums [ i1 ]; i=i 1; g[row][col]=1; //col下标的点入度1 in[col]=in[col] 1; }队列integer que=new linked list (; //输入为0的点进入队列for (inti=1; I=积分; I ) if(in[I]==0) ) que.offer ) I; (巡视//队列while )! que.isEmpty () ) { int row=que.poll; for(intcol=1; col=积分; col(if ) g[row][col]==1) { in[col]=in[col]-1; //将输入阶数为0的点放入队列if (in [ col ]==0) (que.offer ) col ); } g[row][col]=0; } } } /*判断方法1 (横跨所有顶点,出度和入度为0 ) for(intI=1; ipoint 1; I ) for(intj=1; JPP 1; j () if ) g[I][j]!=0) system.out.println('true ); 返回; } ()//判断方法2 )所有顶点的进入度为0for(intI=1; ipoint 1; I ) if(in[I]!=0) system.out.println('true ); 返回; }system.out.println('false ); }02算术表达式问题不能使用脚本引擎script、eval等函数。 全部用算法实现示例输入:2-2* 34/1 max (max (2,3 )输出: 3理想代码

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。