• 一道简单的百度面试题遇到的问题


        

    题目描写叙述:

    依序遍历0到100闭区间内全部的正整数。假设该数字能被3整除,则输出该数字及‘*’标记;假设该数字能被5整除。则输出该数字及‘#’标记;假设该数字既能被3整除又能被5整除。则输出该数字及‘*#’标记。

    提示:

    这道看似很easy的题目。却潜藏着几个玄机。面试官通过这道题,考察学生在语法、语义、语用以及算法优化方面的能力。

    现实告诉我们。通过这一道题目。就能够淘汰85%的面试者。看似残酷的考察方式,却也体现出学生在基础知识、动手能力到思维能力上的差距。

    须要注意的考察点:

    - 语法:语法的正确书写,包含格式
    - 语义:对循环、分支等语义的理解与掌握
    - 语用:对变量命名、表达式及语句的组合使用
    - 算法优化:假设要提高执行效率,能够在算法上寻找突破口,也能够採用空间换时间的通用原则。


    我的程序

    public class Test {
    	public static void main(String args[]) {
    		String result = "";
    		for(int i = 0;i<=100;i++) {
    			if(i % 3 == 0) {
    				result += i + "*";
    				if(i % 5 == 0) {
    					result += "#";
    				}
    			}
    			else if(i % 5 == 0) {
    				result = i + "#";
    			}
    			else 
    			result = i + "";
    			System.out.println(result);
    		}
    	}
    }
    


    可是输出总是不对,输出有些反复,
    为什么会这样呢,哪里出现了问题,找了好久都没发现。

    后面和学长交流了下,发现仅仅要把if(i % 3 == 0) {
    result+= i + "*";改为if(i % 3 == 0) {
    result = i + "*";就是把前面的 “+”去掉就能够了。

    1。基础知识非常重要(注意+=),公司注重基础和持续竞争能力,要多多写程序

    2,交流讨论是提高学习的效率的好方法

    3,注意细节


  • 相关阅读:
    Win10 安装 Oracle32bit客户端 提示:引用数据不可用于验证此操作系统分发的先决条件
    ORACLE 拆分逗号分隔字符串函数
    PLSQL 中文乱码
    不要把分层当做解耦!
    MySQL 迁移到 PG 怎么做
    在 MySQL 创造类似 PipelineDB 的流视图(continuous view)
    TeamViewer 的替代品 ZeroTier + NoMachine
    所有 HTML attribute
    使用PG的部分索引
    基于 500 份标注数据用深度学习破解验证码
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7161584.html
Copyright © 2020-2023  润新知