关于一道.NET程序员面试题的遐想

简介:

 前几天,同学问了我一道程序员的面试题,题目是 “统计用户输入的一串数字中每个数字出现的次数”。

当时看到这个题目,我的第一想法就是:

1.先判断用户输入的是否是数字,用if-else语句来判断;

2.将用户输入的数字字符串转换成char数组;

3.用for循环遍历每个字符,根据switch-case语句来逐一判断。

4.再建立一个int数组来接收判断后的结果,最后for循环输出。

 

该方法的解题代码如下:

View Code

 

运行效果如下:

 

不过,这种方法有两个缺点就是,如果用户输入的不是数字(如字母或符号等),程序会提示错误,并退出;再者,也会统计出用户没有输入过的数字的个数为0个,如果某些时候不想知道没有输入的数字的个数,这种解法很不合适,而且代码修改起来也很复杂。

 

新解法:  泛型集合

碰巧这几天接触了泛型集合,没想到用Dictionary来解这道题是那么的简单。

代码如下:

 

View Code

 

可见,简单的几行代码就解决了。

 

而且,这种解法完全解决了上面遇到的两个问题。

我觉得这个应该就是面试官想要的效果吧。(汗。。。不知道我那位同学的面试情况怎么样。。。)

 

写到这里,我又想到了见过的另一道面试题:“计算字符串中每种字符出现的次数”。

这要用我开始想到的那种思路来解得话,我岂不是要写26个case语句来判断吗,汗。。。。不知道面试官要是看到这么多代码岂不是会当场走人。。。显然这不是最好的解题办法。

还是用泛型集合来解:

 

View Code

 

同样,代码很简单:

 

这时,我又突发奇想想到了另一种情况:

            用户输入一串字母和数字的混合字符串如“ddeieiei4954jjfjdji383ddjeuut3003k”
            统计出每个数字或字母出现的次数,且数字在前,字母在后 ,数字和字母内没有顺序要求
            如 数字 4   出现了 2次  
                数字 3   出现了 4次
                        .......
                       ........
                字母 d   出现了 5次
                     ...........

 

当然,最简单的还是用泛型集合来解了。。。。

 

最后来个总结吧:

个人认为,遇到一个新的问题的时候,关键是思路,把思路一步一步理顺了,就像我们老师说的那样,知道你要干什么,想好怎样去做,最后再去写代码。不要一上来就敲代码,思路都没搞清楚呢,最后肯定是问题多多。

 

希望这篇文章可以给像我这样正在找工作的应届生一些小小的帮助吧!

(突然觉得在大学里学的那些知识都太简单了,而且太深了也不讲。找工作时真的很无奈啊!!!)

 本文转自 酷小孩 博客园博客,原文链接:http://www.cnblogs.com/babycool/archive/2012/02/22/2362725.html  ,如需转载请自行联系原作者

相关文章
|
6月前
|
算法 C# 数据库
【干货】一份10万字免费的C#/.NET/.NET Core面试宝典
C#/.NET/.NET Core相关技术常见面试题汇总,不仅仅为了面试而学习,更多的是查漏补缺、扩充知识面和大家共同学习进步。该知识库主要由自己平时学习实践总结、网上优秀文章资料收集(这一部分会标注来源)和社区小伙伴提供三部分组成。该份基础面试宝典完全免费,发布两年来收获了广大.NET小伙伴的好评,我会持续更新和改进,欢迎关注我的公众号【追逐时光者】第一时间获取最新更新的面试题内容。
291 1
|
6月前
|
数据采集 数据挖掘 程序员
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
|
6月前
|
算法 前端开发 JavaScript
2024年Python最全资深程序员对于Python各个方向的面试经验分享,非常给力!,2024年最新2024金三银四面试季
2024年Python最全资深程序员对于Python各个方向的面试经验分享,非常给力!,2024年最新2024金三银四面试季
|
2月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
57 10
|
6月前
|
Java 程序员
Java this关键字详解(3种用法),Java程序员面试必备的知识点
Java this关键字详解(3种用法),Java程序员面试必备的知识点
|
3月前
|
JavaScript 前端开发 小程序
CoderGuide 程序员前后端面试题库,打造全网最高质量题库
CoderGuide涵盖范围包括且不限于:前端面试题(Vue,React,JS,HTTP,HTML,CSS面试题等),后端面试题(Java,Python,Golang,PHP,Linux,Mysql面试题等),以及算法面试题,大厂面试题,高频面试题,校招面试题等,你想要的,这里都有!
67 2
|
5月前
|
前端开发 应用服务中间件 程序员
老程序员分享:Nginx相关面试题
老程序员分享:Nginx相关面试题
58 2
|
5月前
|
SQL JavaScript Java
java程序员面试题大全含答案(2018--2019)
java程序员面试题大全含答案(2018--2019)
|
6月前
|
前端开发 JavaScript 程序员
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
|
5月前
|
前端开发 Java C#
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
下一篇
无影云桌面