`
zwm512327
  • 浏览: 56686 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

华为5分钟的编程题

阅读更多

去华为面试的一道编程题,要求五分钟写一个程序。把一个输入的数字完全逆转。比如输入25679,返回97652。我第一想法是用StringBuffer的reverse()一句话就写完了。eg:StringBuffer stb=new StringBuffer("3d3a555445");
  stb.reverse();然后在先转成String类型,逆转后再转回去。结果面试官说,不能用Java的类库方法。顿时压力就有点大了。然后想先解析成字符用Vector来存储,可以知道长度,比数组简单,应该也能很快搞定。面试官看了下说还是不行,我就说我只是把Vector当数组来使用还不行?他说压根不允许用数组。当时头就大了。数组都不让用那怎么做啊。结果他说不用数组反而一下激发了我,这题就很简单,不让用数组是因为就用不着。想通了算法就简单了,不是五分钟的问题。原来写五行代码就够了。当时是只写了一个方法,面

public class Re {
	public static int reverse(int num){
		int returnNum=0;
		int yuShu=0;
		while(num>9){
			yuShu=num%10;
			num=num/10;
			returnNum=returnNum*10+yuShu;
		}
		return returnNum*10+num;
	}
	public static void main(String[] args) {
		System.out.println(reverse(356212232));
	}

}

 试完后回家在电脑上加了main方法测了下。

6
3
分享到:
评论
17 楼 leavesforeye 2012-02-02  
其实这个问题按照这个写法好像是 有很大的缺陷,
不用数组理论上属于偏激或者是不切实际
超过二十一亿四千七百四十八万三千六百四十八在java中就不能这么计算了。
我们可以用string接受(几乎无限长度)
用数组倒叙遍历正序存入新数组
这样可以实现无限次翻转。

我写过。 第一次看见 是谭浩强的《C程序设计》
16 楼 wty_703 2008-05-20  
int i = 312412412;
int result = 0;
        while(i!=0){
        int k =i;
        result +=k%10;
        result *=10;
        i /=10;
        }
        System.out.println(result/10);
15 楼 wty_703 2008-05-20  
int i = 312412412;
int result = 0;
        while(i!=0){
        int k =i;
        result +=k%10;
        result *=10;
        i /=10;
        }
        System.out.println(result/10);
14 楼 zwm 2008-05-11  
哦,我搞错了,反过来就越界了.
13 楼 zwm 2008-05-11  
试一下这个:1234560789
12 楼 hgz123 2008-05-08  
其实不要把简单的事情想复杂了`~
11 楼 sblxw 2008-05-06  
public class Re {
	public static void reverse(int num) {
		System.out.print(num % 10);
		if (num > 10)
			reverse(num / 10);
	}

	public static void main(String[] args) {
		reverse(356212232);
	}
}
10 楼 wdlfellow 2008-05-06  
不错!

--学习了
9 楼 zwm512327 2008-05-04  
正是因为字符串转成数字容易,所以不让用字符串来解决。他考的是算法,不是知识。转字符串,数字等的那个不需要算法。这个谁都明白
8 楼 lubang168 2008-05-04  
字符串转换成数字不是很容易的吗?
7 楼 zwm512327 2008-05-04  
前两位还是没看明白!
是数字,不是字符串!!!字符串的话,我比你更有简单的办法。
去看下StringBuffer类的API,有个方法就revers()。这方法直接就逆转了。
因为是数字,不是String,不能用数组,拆成char那样一点难度都没有。
6 楼 imjl 2008-05-04  
写了个php的

$str = 'hello';
for ($i=strlen($str); $i>=0; $i--){
echo $str[$i];
}

output:olleh
 
5 楼 lubang168 2008-05-04  
public static void main(String[] args) {
String str="2514584120";
int len=str.length();

String st="";

for(int i=0;i<len;i++){
st+=str.charAt(len-i-1);
}
System.out.println(st);
}

这样就没问题了.
4 楼 zwm512327 2008-05-03  
因为要求返回的是一个数字,当然是100转成1是正确的,而001是不正确的。因为要求了不让转成String或者char等,我觉的输出一个001也是不可能的吧。输入的参数是数字,输出的也是数字。并不是要求字符串逆转,不然的话我用StringBuffer的方法岂不是更好。
3 楼 dananhai 2008-05-03  
对于数字 2343或者 2004,即最后一位不是0的能行。
如果是100,会转成1。
单独的一位也测试正确
2 楼 laorer 2008-05-03  
如果他在你说之前把约束条件说出来,估计会更好,要不然会很打击人的,想到一种方法说不行,想到一种方法说不行,人都会闷死.

感觉如果考思维还可以,但如果仅仅是道面试题觉得没必要,有现成的东西,为什么不用?
1 楼 lkh_chenqun 2008-05-03  
不错的

相关推荐

    华为研发工程师编程题及答案.pdf

    华为研发工程师编程题及答案.pdf 今天,我们将探讨华为研发工程师编程题及答案.pdf 中的知识点。这个资源文件包含了多道编程题目,涉及到递归问题、数组处理、集合操作等领域。 首先,让我们来看第一道题目:某...

    华为春招面试编程题2

    【华为春招面试编程题2】是一场针对潜在求职者的技术面试环节,主要考察候选人的编程能力和解决问题的能力。这类题目通常涵盖数据结构、算法、操作系统、计算机网络等多个IT领域的基础知识。在面试过程中,面试官...

    华为DatacomIE编程题 思路脑图

    本主题聚焦于“华为DatacomIE编程题 思路脑图”,这是一个帮助学习者理解和掌握华为网络设备编程的重要资源。虽然描述中提到这个脑图仅包含思路而无具体的命令,但对于准备华为DatacomIE认证考试或提升网络编程技能...

    华为2016研发工程师编程题及答案.pdf

    "华为2016研发工程师编程题及答案.pdf" 本资源是华为2016年的研发工程师编程题及答案的PDF文档,包含了多道编程题目和相应的答案,旨在帮助研发工程师们更好地掌握编程技能。 知识点: 1. 编程语言基础:本资源...

    华为校园招聘编程试题汇总

    华为校园招聘编程试题汇总

    华为2019笔试题编程题

    华为2019提前批笔试题及答案 1.输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理; 2.背包问题

    华为C语言编程面试题

    根据给定文件中的内容,我们可以总结出以下几个与C语言相关的知识点: ### 1. 查找相同字符组成的最长子串 **题目描述**:编写一个C函数,在字符串中找到由同...以上就是给定文件中的五个C语言编程面试题的详细解析。

    华为2012软研C++编程题

    **华为2012软研C++编程题详解** 华为公司作为全球领先的ICT解决方案供应商,对软件研发人才的选拔有着严格的标准。2012年校园招聘中的C++编程题,旨在考察应届毕业生的C++基础、算法理解及问题解决能力。在VC++6.0...

    几个华为c语言编程题(含答案)

    在华为的面试中,C语言编程能力是评估候选人技术实力的重要方面。以下是对两道典型华为C语言编程题目的详细解析: ### 题目1:实现`strcmp()`函数 `strcmp()`函数在C标准库中是用于比较两个字符串是否相等的函数,...

    华为研发类笔试编程题

    ### 华为研发类笔试编程题解析 #### 题目背景与要求 本题源自华为的研发类笔试,旨在考察应聘者对C语言基础及内存管理的理解能力。题目要求设计一个能够管理100个网球场预定系统的程序,具体包括以下几个方面: 1...

    华为面试编程题整理c c++

    根据给定的文件信息,以下是对“华为面试编程题整理c c++”中涉及的关键知识点进行的详细解析: ### 1. 字符串拼接函数`strcat` `strcat`函数是C/C++中用于将一个字符串追加到另一个字符串末尾的函数。其原型为:`...

    华为最新笔试题——编程题及答案

    根据给定的文件信息,以下是对每一道编程题目及其解答的知识点进行的详细解析: ### 1. 输入一个字符串,用指针求出字符串的长度 #### 题目描述 编写一个C语言程序,通过指针的方式计算并输出一个字符串的长度。 ...

    华为面试在线编程题

    主要是在线编程的一些Java小案例,可供学习和参考,持续更进中......

    华为首届编程大赛编程题答案(愿意和大家一起讨论更高效的算法)

    华为首届编程大赛编程题答案,本人当时有幸参加了,但当时表现得不是很好。下来后自己还是总结钻研了一下,也就有这个“答案”的诞生。能力有限,目前只能编出这种程度的代码,如果哪位大虾有更好的方法,不吝赐教。...

    华为校园招聘上机笔试题

    【华为校园招聘上机笔试题】是华为公司在2010年针对软件开发岗位进行的一次校园招聘活动中采用的编程测试题目。此类考试通常旨在评估应聘者的C语言编程能力、逻辑思维以及问题解决技巧,是进入华为技术有限公司的...

    华为最新笔试题——编程题及答案.doc

    这些编程题不仅限于华为的笔试,它们适用于任何要求具备扎实编程基础的场合。 当然,为了进一步提高编程能力,除了熟悉相关概念和解题技巧之外,实践同样重要。编程者应当多做练习,提高自己在不同情景下编码的熟练...

    华为编程题及字符串编程

    本资料包"华为编程题及字符串编程"针对2009年华为程序设计大赛中的两道难题提供了新的解法,并涵盖了一些常用的字符串操作技巧。 首先,让我们探讨这两道华为编程题目。在编程竞赛中,题目通常要求参赛者在有限的...

    2021年华为面试编程题.doc

    "华为面试编程题" 华为软件校园招聘编程测验类别中,软件 C 语言编程题是其中的一部分。该类别共有两题,第一题占 40 分,第二题占 60 分,总分为 100 分。下面是对这两道题的分析和解释。 第一题:删除字符串中...

    华为OD机考100题,真题

    ### 华为OD机考100题之五键键盘输出问题 #### 问题背景与描述 本题目属于算法设计类题目,旨在考察考生对于键盘输入处理的理解以及基本的编程能力。题目要求根据一系列给定的键盘输入指令,模拟一个特殊键盘的操作...

    第四届华为编程大赛决赛试题解答

    【第四届华为编程大赛决赛试题解答】是一场针对编程能力的高水平竞技活动,旨在考察参赛者在实际问题解决、算法设计与实现、代码质量和效率等方面的综合技能。这次比赛的试题不仅测试了选手们的编程基础,还可能涉及...

Global site tag (gtag.js) - Google Analytics