该公司笔试题就1个,要求在10分钟内作完。
题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
思路1:得到全排列,然后对排列进行甄别
public static void main(String[] args) {
char buf[]={'1','2','3','4','5','6'};
perm(buf,0,buf.length-1);
}
public static void perm(char[] buf,int start,int end){
if(start==end){//递归出口
test(new String(buf));
}
else{//全排列
for(int i=start;i<=end;i++){
swap(buf, start, i);
perm(buf,start+1,end);//后续元素递归全排列
swap(buf, start, i);
}
}
}
static void swap(char[]buf,int start,int end){
char temp=buf[start];
buf[start]=buf[end];
buf[end]=temp;
}
static void test(String str){//2在6前面,解决两个2的重复问题
if (!str.matches("^..4.*$")&&!str.matches("^.*((35)|(53)).*$")&&str.matches("^.*2.*6.*$")) {
System.out.println(str.replace('6', '2'));
}
}
思路2:在543221-122345之间的数中甄选:
public void test(){
for (Integer i = 122345; i < 543221; i++) {
String string = i.toString();
if(!string.matches(".*[06789].*")&&string.matches(".*1.*")&&string.matches(".*2.*2.*")
&&string.matches(".*3.*")&&string.matches(".*4.*")&&string.matches(".*5.*")
&&!string.matches("^..4.*$")&&!string.matches("^.*((35)|(53)).*$")){
System.out.println(string);
}
}
}
分享到:
相关推荐
全排序、二分查找、冒泡排序、阶乘、最大公约数、最小公倍数、...这是里面包含的算法,本人在准备笔试的时候找的,算法尽量采用最优的。 所有的代码均经过测试,个人觉得没有问题,如果哪位大牛找到错误,欢迎批评指正
华为OD、大厂笔试算法题; 一共87题,每一题附答案(java语言),笔试时频繁出现的原题,想进大厂的小伙伴,欢迎下载; eg: 1、5键键盘的输出 有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键...
C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....
笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题文档.zip 笔试面试算法题...
### 常见IT公司笔试算法题知识点 #### 1. 整数反转 ```c void convert(int *result, int n) { if (n >= 10) convert(result + 1, n / 10); *result = n % 10; } ``` - **知识点:** - **递归**:通过递归调用...
书中的每一道题都是面试的高频题目,反复出现在近5年各大公司的笔试和面试中,对面试备考有着极强的参考价值。 本书涉及面试、算法、机器学习三个主题。书中的每道编程题目都给出了多种思路、多种解法,不断优化、...
Vue.js 是一款流行的前端JavaScript框架,它以组件化开发、易用性和高性能著称。"双向数据绑定"是Vue的核心特性之一,对于理解和掌握Vue.js至关重要。在面试中,了解和能够解释Vue的双向绑定原理是展示技术能力的...
以上题目都是IT公司在笔试中常见的算法题,旨在检验应聘者的编程基础、逻辑思维能力和问题解决能力。对于准备面试或提高编程技能的人员来说,理解和掌握这些基本算法是非常重要的。通过解决这些问题,可以提升对递归...
根据提供的文件信息,我们可以归纳总结出以下几个主要的IT知识点: ### 1. 兔子繁殖问题(斐波那契数列) ...这些知识点涵盖了常见的数据结构、算法应用以及Java编程技巧,对于初学者来说是非常好的学习资源。
在Java笔试面试中,算法题是考察候选者编程能力、逻辑思维和问题解决能力的关键环节。这些题目通常涵盖数据结构、排序、搜索、图论等多个领域,涉及到的基础知识包括但不限于以下内容: 1. **基础算法**:如冒泡...
软件工程师经典笔试算法题 软件工程师经典笔试算法题是软件工程师面试中经常出现的算法笔试题,这篇文章将从六个方面对软件工程师经典笔试算法题进行详细的讲解。 一、将一整数逆序后放入一数组中 这个算法题考察...
雷达算法工程师的岗位对应聘者的专业能力要求极高,尤其在数字信号处理和雷达系统设计方面。...这份笔试题是应聘者展示自身专业技能的平台,也体现了大疆等科技公司在选拔相关岗位人才时的高标准和严格要求。
这份"名企面试笔试真题:TI 笔试题.rar"文件,通过模拟数字应用工程师和MCU助理应用工程师的笔试题目,为求职者提供了一次了解和准备TI面试的机会。 1. **模拟电路与数字电路**: - 模拟电路涉及电阻、电容、电感...
算法题(leetcode、公司笔试)(全套资料) 算法题(leetcode、公司笔试)(全套资料) 算法题(leetcode、公司笔试)(全套资料) 算法题(leetcode、公司笔试)(全套资料) 算法题(leetcode、公司笔试)(全套...
华为校园招聘笔试算法题汇总 华为校园招聘笔试算法题汇总中包含了多道算法题目,涵盖了字符串处理、压缩、过滤等多方面的知识点。本文将对其中的几道题目进行详细解释和分析。 一、字符串过滤 问题描述:编写一个...
在准备BAT(百度、阿里巴巴、腾讯)这样的中国顶级互联网公司的...总之,这个“BAT iOS算法笔试题集合”是一个宝贵的资源,它涵盖了面试中可能遇到的各种问题,通过深入学习和实践,你将更有信心面对大厂的面试挑战。
在IT行业中,面试是检验求职者技能和能力的重要环节,特别是在软件公司,算法笔试题更是不可或缺的部分。这些题目旨在评估候选人的逻辑思维、问题解决能力和编程基础。以下是一些可能出现在各大软件公司面试中的算法...