一道淘汰85%面试者的百度开发者面试题(更新)

前边说我说道这道题不用什么高大的算法就行,现在感觉或许真的不用什么高大的算法,但是各种思路来解决这个问题还是要有的。。

昨天在我的博客上看到有朋友写了另外一种方法,感觉思路挺不错的,就拿过了分享一些,原评论请看上面那个连接,由于不能附件连接:请参看以前写的文章:http://blog.csdn.net/mark_wk/article/details/24398321更多经彩请看我博客:www.marksaas.com

先说一下他的思路吧,主要是用String来控制输出结果,就是先指定一个空串来作为输出结果,如果i能被3整除就吧*附加到结果上来,如果能被5整除就把再把#附加到结果上来,或许你有些晕,还是直接看代码慢慢理解比较好。。

好了,废话不多说了上代码:

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


也可以把文中的String用StringBuffer或者用StringBuffer来代替,请看:StringBuilder和StringBuffer解析(百度面试题优化需要用到的),由于有不少同学对于优化问题还有疑问,我已经把源代码贴出了,供大家参考。请参看百度开发者面试题(优化),感觉这道题的第三种方法挺不错的,但是三目运算符在运算的时候也会进行判断运算,感觉第一种方法简单明了,运行效率也差不多。果有更好的思路,欢迎探讨。。
欢迎关注我的微博  ,我的微博会实时更新文章。  交流群: 

199326422



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值