度小满金融(百度金融)编程一题&春招总结


title: 度小满金融(百度金融)编程一题&春招总结
date: 2019-04-29
tags: java

度小满金融(百度金融)编程一题&春招总结

问题大致描述:
输入一个数(有范围的,范围忘记了,不过不影响编程思路)
如果这个数能够除尽它所有的位数,我们称它为“棒”数,输出“G”
如果这个数能够除尽它的一些位数,我们称它为“开心”数,输出“H”
如果这个数不能够除尽它的所有位数,我们称之为“沮丧"数,输出“S”

举例:
24 24/2=12(数学语言) 24/4=6 所以24为棒数
35 35/3(除不尽) 35/5=7 所以35为开心数
23 23/2 23/3都除不尽 所以23为沮丧数

输入输出要求
第一行输入用户要输入的几组数
第二行及以后显示用户输入的这几组数
最后几行输出判定结果
例如
3
24
35
23
G
H
S

主要思路
拆分位数,循环遍历,一旦发现有可以被整除的位数,则计数器加一,当最后计数器值等于位数时,说明这个数是棒数,当计数器值小于位数但却不为0时,说明这个数为开心树,当计数器值为0时,说明这个数为沮丧数

代码实现

package com.lagoon.test;

import java.util.Scanner;

/**
 * @Author WinkiLee
 * @Date 2019/4/28 21:10
 * @Description
 */
public class test {

    public static void main(String[] args) {
        String result = "";
        Scanner scanner = new Scanner(System.in);
        int sum=scanner.nextInt();
        for (int j = 1; j <= sum; j++) {
            int target = scanner.nextInt();
            String x = String.valueOf(target);
            int[] arr = new int[x.length()];
            result += Judge(arr, x);
        }
        System.out.println(result);
    }


    public static String Judge(int[] arr, String x) {
        int count = 0;
        String str = "";
        for (int i = 0; i < x.length(); i++) {
            arr[i] = Integer.parseInt(x.substring(i, i + 1));
            if (Integer.parseInt(x) % arr[i] == 0) {
                count++;
            }
            if (count == x.length()) {
                str = "棒\n";
            }
            if (count < x.length() && count != 0) {
                str = "开心\n";
            }
            if (count == 0) {
                str = "沮丧\n";
            }
        }
        return str;
    }
}

运行结果
在这里插入图片描述

ps:差不多在春招上折腾完了,发现了自己的一些问题,也明确了自己的导向
以大厂的普遍风格为例,测评或者是笔试大部分会有逻辑题和计算题,考察图形数字规律和短时间内逻辑计算能力,挺有难度的,最后一般都是在线编程,在解决生活问题上不知不觉考察算法编程,算法真的很重要,同时也是我最大的弱点,大厂的在线编程会有点难以理解,与生活融入比较深,多读几遍题目,要理解到底是要写一个什么样的程序,而且编程中常用的数据类型封装好的方法一定要熟悉熟记,像我过程中想到个append方法,但是记不起来它是归哪个所用的了,有些大厂在线编程允许跳出用本地ide编辑复制,idea的智能提醒这个时候就很有帮助,一定要利用好,不清楚怎么进行下一步,有思路的话,智能的idea会引导你怎么走,甚至你不必记起来有什么方法,当然写程序也要注意题目的时间和空间运行要求,还有些大厂的在线编程不允许跳出,就在牛客上或者赛码上编辑,着实有点蛋疼。。当然不过度依赖智能提示肯定是最好的,大厂的笔试都开摄像头,所以不必抱有侥幸心理,一般的软件公司和方案公司只会启用摄像头捕捉屏幕状态防止你跳出
还有就是BAT这样的大厂笔试,如果说对我来说的话,确实是有点变态了的,要充分准备,a的笔试涉及到计算机各种专业知识,计算机网络,语言设计,数据库,甚至还有机器学习的知识。。
字节跳动的笔试题以算法为主,各种树,图,链表的问题和编程题
并且选择题和多选题大部分大厂也都是以算法为主,比如说时间复杂度
额外计算机网络,数据库,程序运行结果选择(一般都有坑)
还有就是例如趋势科技,笔试题全是c++。。。。,只有编程题可选java写,确实没怎么选得来
笔试,牛客网疯狂刷,疯狂看,就对了。。。

面试,大厂来说的话
产不多都是这个要求了
三大类 高并发分布式,算法,JVM

高并发推荐 Java高并发编程详解-汪文君
算法 晚上找找学着就行,主要是理解,后面都会有手撕算法的环节,说白了还是当面写算法编程
JVM 推荐深入理解JVM虚拟机

自己最好有几个比较高级,用的技术中间件比较多的拿得出手又熟悉的项目

留一下高清pdf资源
深入理解JVM虚拟机
链接: https://pan.baidu.com/s/1fjFzVbLfVjcydMMIjJiDgg 提取码: erh9 复制这段内容后打开百度网盘手机App,操作更方便哦

Java高并发编程详解
链接: https://pan.baidu.com/s/1wbJ8wb3Va_jiMDs2-sfmkA 提取码: 2bez 复制这段内容后打开百度网盘手机App,操作更方便哦

算法
链接: https://pan.baidu.com/s/1M7pnjPhhg0N3BLvDJrKCFg 提取码: wagq 复制这段内容后打开百度网盘手机App,操作更方便哦

秋招再战。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章