华宇信息 java秋招 笔试记录

19单选+3填空+2代码(ak) 11-19笔试记录

单选+填空

大概考察(还记得的) :

  • static修饰的静态代码块和main函数中其它代码块执行顺序的问题
  • 4个结点的二叉树最多有多少种形态?14种
  • 三个同值的int , long , double 的判等对错
  • 10,8,16进制数据比大小
  • java集合的比较,ArrayList和LinkedList;
  • int a = 5 ; sout(a>>2) ? 1
  • ............

算法题 :

t1 : 字符串连续相同字符计数输出

直接模拟就ok :

package com.hyxx;
import java.util.*;

public class t2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next() ;
        int n = s.length() ;
        char[] str = s.toCharArray() ;
        for(int i=0;i<n;i++){
            int j=i;
            while(j<n&&str[j]==str[i]) j++ ;
            System.out.print(str[i]+""+(j-i));
            i = j - 1 ;
        }
        sc.close() ;
    }
}


t2 : 模拟表达式求值,只有+,-,*

发现不能用c++,用java写起来有点迷,好在写完了,代码看的自己都头疼!

package com.hyxx ;

import java.util.Scanner ;
import java.util.*;

public class t1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next() ;
        int n = str.length() ;
        char[] s = str.toCharArray() ;
        Stack<Character> ch = new Stack<Character>() ;
        Stack<Long> sz = new Stack<Long>() ;
        boolean flag = false ;
        for(int i=0;i<n;i++){
            char c = s[i] ;
            if(c=='+'){
                ch.add(c) ;
            }else if(c=='-'){
                ch.add(c) ;
            }else if(c=='*'){
                if(flag==false)
                    flag = true ;
            }else{
                if(flag == true){
                    long x = (long)(c-'0') ; 
                    long y = sz.peek() ;
                    sz.pop() ;
                    long z = x*y ;
                    System.out.println(z);
                    sz.add(z) ;
                    flag = false ;
                }else{
                    long yss = c-'0' ;
                    sz.add(yss) ;
                }
            }
        }
        // java反转一个栈的方法
        //Collections.reverse(ch) ;
        StringBuilder ch1 = new StringBuilder()  ;
        while(!ch.isEmpty()){
            char c = ch.peek() ;
            ch.pop() ;
            ch1.append(c) ;
        }
        ch1.reverse() ;
        ArrayList<Long> sz1 = new ArrayList<Long>() ;
        while(!sz.isEmpty()){
            long x = sz.peek() ;
            sz.pop() ;
            sz1.add(x) ;
        }
        Collections.reverse(sz1) ;

        Stack<Long> sz2 = new Stack<Long>() ;
        for(int i=sz1.size()-1;i>=0;i--){
            long x = sz1.get(i) ;
            sz2.add(x) ;
        }
        sz = sz2 ;
        Long ans  = sz.peek() ;
        sz.pop() ;
        for(int i=0;i<ch1.length();i++){
            char c = ch1.charAt(i) ;
            if(c=='+'){
                long y = sz.peek() ;
                sz.pop() ;
                ans = ans + y ;
            }else if(c=='-'){
                long y = sz.peek() ;
                sz.pop() ;
                ans = ans - y ;
            }
        }
        System.out.println(ans) ;
    }    
}


#软件开发笔面经##悬赏#
秋招joker 文章被收录于专栏

记录秋招...

全部评论
给你发面试了吗,兄弟
点赞 回复 分享
发布于 2024-11-22 13:10 北京
和我之前考的一样,忘了什么时候考的了
点赞 回复 分享
发布于 2024-11-22 13:09 北京

相关推荐

小时候觉得老师是很伟大的职业&nbsp;感觉老师都是人中龙凤才能当&nbsp;后来考入大学&nbsp;发现以前的老同学也是公费师范生了&nbsp;他们什么样什么人品&nbsp;我还不清楚吗&nbsp;只能希望他们以后也会有改变&nbsp;要不纯属耽误孩子&nbsp;实习之后发现&nbsp;有的领导&nbsp;能当上领导也可能运气成分很多&nbsp;自己决策方面很差&nbsp;分配给属下的东西自己也说不明白&nbsp;&nbsp;前些年那些明星&nbsp;各种塌房&nbsp;少林寺大师都能有情人和孩子&nbsp;越长大越发现世界就是个草台班子&nbsp;以前对不懂的东西有一层羡慕的滤镜&nbsp;接触之后发现就不是那回事了
RazerYang:其实也是幸存者偏差,你只关注草台班子的部分,所以觉得世界都是草台班子。实际上你每天能安全地从床上醒来,有稳定的天然气、自来水和电力供应,能让你吃上热乎的饭菜,能收到持续稳定的信号去刷手机,花几块钱就能坐地铁从城市的一端快速移动到另一端,花几百块就能在一天之内安全穿越整个国家,这都不是一个草台班子能实现的。燃气、水利、电力、通信、公交、民航,还有最重要的公安和国防,这些都不是草台班子能做的,有无数普通人构筑了你生活的方方面面,而你也将加入他们。
我对___祛魅了
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务