经典算法
来源:互联网 发布:什么是nosql数据库 编辑:程序博客网 时间:2024/06/06 05:50
1、杀人算法
问题:把犯人围城一圈,每次杀掉第七个,又从第八个开始杀掉第七个,直到剩下最后一个
思想:从第七个人开始杀,杀完加上之前的6个人
代码如下
publicstaticvoid main(String[] args) {
Scanner scanner = new Scanner(System.in);
int s = scanner.nextInt();
List<Person> personlist =new ArrayList<Person>();
System.out.println("人员有:");
for (int i = 1; i < s; i++) {
Person person =new Person(i,"" + i + "号");
personlist.add(person);
System.out.print(person.getName() +",");
}
List<Person> list =killBody(personlist); // 开始杀第一个人,然后准备进入while循环
while (list.size() > 6) {
list = killBody(list);
}
}
publicstatic List<Person> killBody(List<Person> personlist) {
List<Person> personlisttemp =new ArrayList<Person>();
int num = 0;// i = 7 就是第8个人,这就8开始计数了
for (int i = 7; i < personlist.size(); i++) {
personlisttemp.add(num, personlist.get(i));
num += 1;
}
for (int i = 0; i < 6; i++) {
personlisttemp.add(num, personlist.get(i));
num += 1;
}
System.out.println();
System.out.println("杀人:");
for (int i = 0; i < personlisttemp.size(); i++) {
Person person = personlisttemp.get(i);
System.out.print(person.getName() +",");
}
System.out.println();
return personlisttemp;
}
2、时针分针问题
问题1:24小时之内,时针和分针总共相交几次
问题2:相交的时间是多少,请打印出来
思想1:24小时内分针走24圈,时针走2圈,所以相交22圈、(也可以这样理解,在12点到1点这中间没有相交,其他都相交了)
思想2:时针每分钟走0.5度,分针每分钟走6度。二者比赛跑步,相当于分钟走,时针不走 分钟的度数为5.5度。然后每次时针走的度数监区分针走的度数
代码如下
publicclass HourAndMinite {
分针为计算单位
时针小时每分钟走 360/12(个标志位)/60(分钟) = 0.5度
分针 360/60 = 6度
publicstaticvoid main(String[] args) {
int count =0;
for(int h=1; h<=12; h++){//从第一小时开始算,不算12点开始重合的次数
for(int m=0; m<=60; m++){
//这里是最关键的,因为小时走的度数不可能都是整数30*h,这里为了方便计算
//给分钟变慢变成6度-0.5度 =这样就相当于是以时针不变,分钟在动。
double gap = (30 * h - 5.5 * m) % 360;
////分针一直在追赶时针和,那在接近重合的合时候的夹角不会超过6度,并且为正
if(0 < gap && gap < 6.0){
System.out.println(h +":" + m);
count++;
}
}
}
System.out.println("共重合:" + count +"次");//22
//结果出现了11.59这里很明确应该是12点随意这个时候需要改掉
}
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- 经典算法
- linux struct input_event结构体详解
- 计算机视觉与深度学习(10)
- MediaPlayer本地播放流程解析(3)
- 从RNN到LSTM剖析
- 冒泡算法
- 经典算法
- org/eclipse/jetty/server/Handler : Unsupported major.minor version 52.0
- 正负数之间取模运算的符号问题
- 2.Echarts3.0--柱状图最详解析及示例
- 自动迁移关闭es聚合索引
- ASP 图片,生成缩略图
- 2017.12.21 第十一天-继续界面优化
- 《穿越计算机的迷雾》第一版说明
- Spring Boot导出jar包发布