曾经面试遇到的问题:
1. 色子(6个面),N个色子,把所有组合输出来,去掉重复的(如:3个色子: 1,2,3的组合 和 3,2,1的组合 或者 2,3,1 的组合 都示为重复的 )
2. 画TABLE,所有单元格相临的颜色都不能有重复的.
这2个问题说明:
当时去了一家公司面试,环境挺好,也挺不错.
面试很简单.也很到位.
就给了我3个题. 并且只要做出其中2个题就可以.时间是5小时. 我看了下题.选的是其中的2个. 还有一个忘记了.
------重点希望有朋友可以解答第1题. 因为我只做了第1题. 5小时.还没做出来.-------
是这样的。题目很简单。但是少一点都不能正确完成。
1。N代表色子个数(输入N就能得到答案)
2。色子只有1-6
3。除去重复的组合
4。组合必须要正确
(如:3个色子,
组合开始是:
1.1.1
1.1.2
....
6.6.6
)
我当时只写出指定几个色子的方法。说白了就是循环。但就是不会写出N个色子的方法,因为N不稳定,循环次数不确定。
我不是很确定。但是总觉的递规可以解决N这个问题。
很希望有朋友可以用递规解决。(如果可以的话)
其实给出答案的朋友,用的是找规律和String的截取方法。
但我觉的正确的一次性输出想要的答案才算最佳!
很感谢回答的朋友,希望大家继续一起讨论。
以下是曾经发贴回复中,写出的实现方法!
public class DiceArith {
/**
* 数组转字符
*
* @return
*/
public static String arraysToString(String[] s) {
String t = "";
for (int i = 0; i < s.length; i++)
t += s[i];
return t;
}
/**
* 方法一
*
* @param N
*/
public static void method1(int N) {
TreeSet<String> tree = new TreeSet<String>();
long start = 1, end = 6;
for (int i = 1; i < N; i++) {
start += 1 * convert(10, i);
end += 6 * convert(10, i);
}
String[] data;
for (long j = start; j <= end; j++) {
if (expValid(j + "")) {
data = String.valueOf(j).split("");
Arrays.sort(data);
tree.add(arraysToString(data));
}
}
for (Iterator<String> t = tree.iterator(); t.hasNext();) {
String d = t.next();
System.out.println(d);
}
}
public static void main(String[] args) {
method1(3);
}
/**
* 计算平方根
*
* @param data
* @param n
* @return
*/
public static long convert(int data, int n) {
long result = 1l;
for (int i = 1; i <= n; i++)
result *= data;
return result;
}
/**
* 正则验证色子数在【1-6】范围内
*
* @param s
* @return
*/
public static boolean expValid(String s) {
Pattern p4 = Pattern.compile("^[1-6]+$");
Matcher m4 = p4.matcher(s + "");
if (m4.find())
return true;
else
return false;
}
}
分享到:
相关推荐
在求职的过程中,一对一面试无疑...记住,每一次面试都是一次宝贵的学习机会,无论结果如何,都是一次对自我认识的提升和成长。因此,每一位求职者都应珍惜这个展示自我的机会,用最真诚的态度去迎接每一次面试的挑战。
在当今竞争激烈的就业市场中,面试成为了求职者获取工作机会的必经之路。...每一次面试都是一次了解自己和潜在雇主的机会,因此保持积极的心态,相信自己能够从每次面试中学习到宝贵的经验,不断向理想工作靠近。
西安亿阳信通比式面试是信息技术领域招聘考核的一部分,它不仅仅是一场常规的求职测试,更是对求职者专业素养与能力的一次全面检阅。对于应聘亿阳信通西安分公司的求职者而言,这不仅是一个展示自身技术能力与解决...
总之,联想程序员面试是一次综合性很强的考察,它不仅测试应聘者的专业技术能力,还着重考察应聘者的英语沟通能力、团队协作能力、创新思维和问题解决技巧。对于求职者来说,了解面试流程和要求,进行充分的准备和...
### 求职面试后的必备礼仪 在求职过程中,面试无疑是极为关键的一环。很多求职者都非常重视面试中的...记住,每一次面试都是一个宝贵的学习经历,不论结果如何,都应该从中汲取经验教训,为下一次的机会做好充分准备。
程序员面试是职业发展道路上的一次重要考验,尤其对于那些刚刚步入职场的应届毕业生或者实习生来说,面试过程中很可能会遇到一些难以...记住,每一次面试都是一次宝贵的经验,无论结果如何,都是个人成长与学习的契机。
第一次前端面试!!!起初。说是电话面试,到了面试的时候,加微信打视频,这不是重点,关键是,在家没化妆!!!哎,素颜的样子对着面试官,心里十分忐忑啊。不过好在不紧张,面试就是两个人在交流问题嘛,会什么说...
即使这次面试不成功,也可以将其视为一次宝贵的经验积累,为下一次面试做好更充分的准备。 **3. 不要把考官看得过于神秘** - 许多考官可能也并不是专业的面试官,甚至可能也会感到紧张。意识到这一点可以帮助减轻...
通过以上内容的详细介绍,我们可以看到,面试自我介绍不仅是对应聘者基本信息的一次汇报,更是展现个人魅力、能力和职业态度的重要环节。合理规划自我介绍的内容和时间,运用恰当的语言技巧,能够让面试官对求职者...
因此,面试者如果仅仅停留在泛泛而谈,比如单一地声称“我做事很负责任”,则难以给面试官留下深刻印象。 针对“你对学生会怎么看?”这样的问题,面试者应当表达出服务同学的愿景、通过社团活动锻炼和提升自己的...
- 根据面试反馈,加强专业知识学习和实践技能的提升,为下一次面试做好准备。 - 继续关注目标学校和专业的最新动态,以便更好地了解申请的要求和标准。 总结来说,申请西北大学电气工程博士项目的面试需要综合准备...
- **详细解释**:面试前应该调整好心态,认识到每一次面试都是一次宝贵的学习经历,即便是未被录取也不必气馁。应该将面试视为自我展示的机会,而不是决定一切的唯一标准。通过这种方式来减轻压力,帮助自己更好地...
【面试准备】是获得理想职位的关键步骤,尤其在竞争激烈的IT行业中,良好的面试准备能显著提升你的成功率。...记住,每一次面试都是展示自我、争取机会的舞台,做好充分准备,你就是那颗最耀眼的星。
事业单位面试,作为求职者敲开体制大门的重要环节,其重要性不言而喻。...因此,考生们应该在面试准备上狠下功夫,认真对待每一次面试机会,以确保在激烈的竞争中脱颖而出,顺利通过事业单位面试这一关卡。
在当今这个人才竞争日益激烈的社会环境中,卫生类事业单位的面试已然成为医疗卫生专业人才展示自我、实现职业发展的重要关卡。...因此,应聘者应该抓住机会,充分准备,以自信和专业的态度迎接每一次面试挑战。
例如,求职者可以分享一次自己在项目中遇到问题后,如何主动寻找解决方案,与团队成员协作克服困难,并最终取得成功的经历。 除了上述三个问题,面试中还有许多其他重要的问题需要求职者准备。这些问题可能涉及个人...
在金融界,特别是华尔街,面试不仅是一场对专业知识的考验,更是一次展现个人素养、沟通能力和职业礼仪的场合。"华尔街面试和礼仪"这个主题旨在帮助求职者全面准备面对这个全球金融中心的挑战。 首先,面试是展示...
行政事业单位的面试不仅是一场考核,更是一次展现自身综合素质的舞台。对于求职者而言,掌握面试技巧,以沉稳、自信的姿态面对考官,往往能留下良好的第一印象,为成功入职打下坚实的基础。 首先,面试过程中心理...
此外,了解面试官可能会问的问题类型也很重要,比如行为面试问题(例如,“请描述一次你在团队中解决冲突的经历”)和技术面试问题(例如,“请解释一下你对某个特定技术的理解”)。 其次,准备工作是面试成功的...