题目:有n个骰子,每个骰子有1-6个数。投掷n个骰子有n个数字的组合,列出每次投掷数字不相同的组合。一共有多少种可能。用java编程实现:
解法:
import java.util.TreeSet;
import java.util.Iterator;
import java.util.Arrays;
import java.util.regex.*;
public class InterViewTest {
public static void main(String[] args){
InterViewTest.method1(6);
}
public static String arraysToString(String[] s) {
StringBuilder t = new StringBuilder();
for (int i = 0; i < s.length; i++){
t.append(s[i]);
}
return t.toString();
}
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 + "")) { //返回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 long convert(int data, int n) {
long result = 1l;
for (int i = 1; i <= n; i++){
result *= data;
}
return result;
}
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;
}
}
}
分享到:
相关推荐
原创一道Java笔试面试题考考大家!附带答案!
java面试题之行列转换 Oracle 和SQLServer两种方式 详细例子以及说明 一条语句实现,绝对看得懂! 方便理解!
【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..
一道有趣的java笔试题.
本文给大家分享一道史上最难的一道Java面试题,非常不错,具有参考借鉴价值,需要的朋友参考下吧
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc... Java面试题及答案(基础题122道) - 在梦想与现实之间徘徊 - JavaEye技术网站.mht 等等,还有好多。
企业公司软件测试面试笔试题集合 软件测试面试题 (测试基础).doc 01_企业面试试卷(综合).doc 01_企业面试试卷(综合)_参考答案.doc 04_企业面试试卷(测试基础).doc 04_企业面试试卷(测试基础)_参考答案.doc...
北京宏景世纪软件股份有限公司Java笔试题
java程序员求职之前看这一套就够了。包括Java程序员阿里面经等,java求职必备知识点,简历模板,JAVA核心知识点整理,蓝桥杯java历年真题及答案整理(共129道题目及答案),Java面试突击-V3.0
java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。
一道Java面试题答案:Java实现字符串倒序
笔试题,使你面试的成功率大大提高,好好学习,文档的收集,认真分析每一道题。
喜的是,别人没看到这些悉心整理的面试题你看到了;悲的是,面试你的面试官可能也看到了!前几天整理了很多关于面试的经典题目,例如Redis为什么是单线程的、SqlSessionTemplate是如何保证SqlSession线程安全性的、...
一套Java开发工程师笔试试题 (请不要在试题上留任何痕迹,所有答案均写在答题纸上) 包括了选择题、填空题、简答题、程序读写题 都有答案 最后一道简答题关于设计模式的题目见博客: ...
计算机后端-Java-Java核心基础-第21章 常用类 09. String的一道面试题.avi
主要介绍了阿里的一道Java并发面试题详解,网络、并发相关的知识,相对其他一些编程知识点更难一些,主要是不好调试并且涉及内容太多 !,需要的朋友可以参考下
2011年5月份参加腾讯校招的时候,一位工程师给的面试题。我觉得挺有意思的,拿出来,与君共勉
每天一道面试题,周五冲冲冲!List、Set、Queue和Map是Java集合框架中的四个主要接口,它们各自具有不同的特点和用途。 1. List(列表): - 允许重复元素。 - 具有按照元素插入顺序维护的有序集合。 - 可以通过索引...
3. 记一道字节跳动的算法面试题 4. 关于三次握手与四次挥手面试官想考我们什么?--- 不看后悔系列 5. 腾讯面试题:有了二叉查找树、平衡树为啥还需要红黑树? 6. 你真的了解 i++, ++i 和 i+++++i 以及 i+++i++ 吗...