华为研发工程师编程题_第1页
华为研发工程师编程题_第2页
华为研发工程师编程题_第3页
华为研发工程师编程题_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编程题如图 1 所示,有一个数组一个N顺序存放 0N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以 8 个数(N = 7)为 例:0,1,2,3,4,5,6,7,0- 1- 2(删除) - 3- 4- 5 (删除) - 6- 7- 0(删除), 如此循环直到最后一个数被删除。 输入描述:每组数据为一行一个整数 N(小于等于 1000),为数组成员数,如果大于 1000,则对一个999进行计算。 输出描述:一行输出最后一个被删掉的数的原始下标位置。 输入例子:8 输出例子:6 2,输入一个字符串,求出该字符串包含的字符集合输入描述:每组数据输入

2、一个字符串,字符串最大长度为 100,且只包含字母,不可能为空串,区分大小写。 输出描述:每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。 输入例子:abcqweracb 输出例子:abcqwer 刺猬实习3,数独是一个我们都非常熟悉的经典游戏,运用计算机我们可以很快地解开数独难题,现在有一些简单的数独题目,请编写一个程序求解。 输入描述:输入 9 行,每行为空格隔开的 9 个数字,为0 的地方就是需要填充的。 输出描述:输出九行,每行九个空格隔开的数字,为解出的答案。 参考答案1,参考代码:2,参考代码刺猬实习1. 导入 java 。util 。哈希集;1.

3、 导入 java 。util 。*; 2.3. 公共类 Main 4. public static void main (String args )5. 扫描器SC = 新扫描仪(系统。在);6. 而(SC 。hasNext ()7. int n = sc 。nextInt ();8.if (n 1000 )9.n = 999 ;10.11. List list = new ArrayList ();12. for (int i = 0 ; i 1 )17. i = (i + 2 )列表。size ();18. 。删除(i );19.20.系统。出。的 println (。得到(0 );21.

4、22.23.3,参考代码:刺猬实习1. 导入 java 。util 。*;2. 公共类 Main 3. public static void main (String args )4. 扫描器SC = 新扫描仪(系统。在);5. 而(SC 。hasNext ()6. int data = new int 9 9 ;7. ArrayList HashSet row = new ArrayList HashSet ();8. ArrayList HashSet col = new ArrayList HashSet ();9. ArrayList HashSet squ = new ArrayLi

5、st HashSet ();10.10.11.for (int i = 0 ; i 9 ; i +)12. 排。add (new HashSet ();13. col 。add (new HashSet ();14. SQU 。add (new HashSet ();15.16.17.for (int i = 0 ; i 9 ; i +)18.for (int j = 0 ; j 9 ; j +)19.data i j = sc 。nextInt ();20.if (data i j != 0 )21.排。得到(i )。add (data i j );2. 导入 java 。util 。扫描仪

6、;3. 导入 java 。util 。设置;4. 公共类 Main 5. public static void main (String args )6. 扫描器在= 新扫描仪(系统。在);7. 同时(在。hasNext ()8. char c = in 。下一个()。toCharArray ();9. StringBuffer sb = new StringBuffer ();10. 设置 set = new HashSet ();11. 对于(诠释我= 0 ; 我 。长度; 我+)12. 如果(组。添加(c 我) 13. SB 。追加(c i );14.15.系统。出。的 println

7、(SB 。的 toString ();16.17.18.刺猬实习22. col 。得到(j )。add (data i j );23. SQU 。得到(i / 3 * 3 + j / 3 )。add (data i j );7.28.dfs (data ,row ,col ,squ ,0 ); 29.30.for (int i = 0 ; i 9 ; i +)31.for (int j = 0 ; j 9 ; j +) 32.if (j != 8 ) 33. 系统。出。print (data i j + “” );34. 其他 35. 系统。出。println (data

8、i j );9.sc 。close ();3. public static boolean dfs (int data ,ArrayList HashSet row ,ArrayList HashSet col ,ArrayList HashSet squ ,int index )44. if (index = 81 ) 45. 返回true ;46. int m = index / 9 ;47. int n = index 9 ;48.int k = m / 3 * 3 + n / 3 ; 49.50.if (data m n != 0 )51.return dfs (data ,row ,col ,squ ,index + 1 );52.53.其他54.for (int i = 1 ; i = 9 ; i +)55. 如果(!行。得到(米)。包括(我)& !山坳。得到 ( )。包括(我)& !SQU 。得到( )。包括(我)56. data m n = i ;57. 排。得到(m )。添加(i );58. col 。得(n )。添加(i );59. SQU 。得到(k )。添加(i );60. if (dfs (data ,row ,col

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论