编程之美-翻烙饼Java实现
从今天开始每天至少一个算法。
前言
翻烙饼问题是非常经典的问题,星期五的晚上,一帮同事在希格玛大厦附近的“硬盘酒吧”多喝了几杯。程序员多喝了几杯之后谈什么呢?自然是算法问题。有个同事说:
“我以前在餐馆打工,顾客经常点非常多的烙饼。店里的饼大小不一,我习惯在到达顾客饭桌前,把一摞饼按照大小次序摆好——小的在上面,大的在下面。由于我一只手托着盘子,只好用另一只手,一次抓住最上面的几块饼,把它们上下颠倒个个儿,反复几次之后,这摞烙饼就排好序了。我后来想,这实际上是个有趣的排序问题:假设有n块大小不一的烙饼,那最少要翻几次,才能达到最后大小有序的结果呢?
package z_fanlaobing;/*** 编程之美:翻烙饼** @author jixiang* @date 2018/3/6**/public class fanlaobing {public static void main(String[] args) {int n=10;int[] num={2,5,4,9,8,3,1,6,0,7};int max=num[0];int maxId=0;//最大烙饼的下标for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(num[j]>max){num[j]=max;maxId=j;}}reverse(num,maxId);//找到当前最大的之后开始把最大的翻到最上边reverse(num,n-i-1);//然后把没排好序的整体翻个个,让最大的翻到最下面。}for(int k=0;k<10;k++) {System.out.print(k);}}public static void reverse(int[] num,int n){int i=0;int temp;if(n>num.length){System.out.println("超过数组大小");return;}while(i<n){temp=num[i];num[i]=num[n];num[n]=temp;n--;i++;}}
}
转载于:https://blog.51cto.com/ji123/2083326
编程之美-翻烙饼Java实现相关推荐
- 编程之美-翻烙饼问题
翻烙饼问题 前言 翻烙饼问题是非常经典的问题,星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说: " ...
- 算法导论、数据结构、设计模式、代码整洁之道、大话设计模式、程序员修炼之道、编译原理、编程之美、阿里巴巴java开发手册等电子书合集
关注公众号[static修饰符],回复"java电子书"获取资源 学习更多的java知识,一同进步.
- 《编程之美》(Java实现) :让CPU占用率画直线和正弦曲线(Java实现)
2019独角兽企业重金招聘Python工程师标准>>> public class CPUTest { //定义时间片大小(毫秒) public static final double ...
- 编程之美 烙饼问题 java实现(检测状态是否出现过)
import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** ...
- java并发实战编程pdf_「原创」Java并发编程系列25 | 交换器Exchanger
2020年Java面试题库连载中 [000期]Java最全面试题库思维导图 [001期]JavaSE面试题(一):面向对象 [002期]JavaSE面试题(二):基本数据类型与访问修饰符 [003期] ...
- 《编程之美》一摞烙饼问题探讨
<编程之美>一摞烙饼问题探讨 这类问题我最早遇到是厨师摆盘子问题,就是厨师要把一个架子上的盘子按照从大到小排列,只能象本题中翻动烙饼的方式翻动盘子,当时我给出了这样的答案: int Fin ...
- 《编程之美——微软技术面试心得》一摞烙饼的排序初体验
<编程之美>读书笔记:1.3 一摞烙饼的排序 问题: 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个 ...
- 【编程之美】一摞烙饼的排序
一,问题: 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:&qu ...
- 《Java并发编程之美》
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yAwEsYPZ-1661534116043)(img/\1625573175405.jpg)] [外链图片转存失败,源站 ...
最新文章
- 那些年,一起学的Java 7-3
- python学习笔记:(三)list(列表)常用的内置方法
- android graphics pipeline
- python apscheduler执行_python apscheduler 每两小时执行一次
- RedHat gcc编译器版本升级到4.8.2支持C++11标准
- source insight 4.0 无法同步文件问题
- 安装服务器系统大概多久,安装服务器系统
- BZOJ4597 SHOI2016随机序列(线段树)
- leetcode:Longest Common Prefix【Python版】
- 苍井空老师的Twitter
- lc滤波器是利用电感的感抗_由浅入深讲解滤波电路工作原理
- BurpSuite CA证书安装(拦截HTTPS协议)
- 拿火柴游戏(拿子游戏)
- 第五届新疆省ACM-ICPC程序设计竞赛(重现赛)
- 【JWT】JWT JWS JWE | 在线JWS解析工具
- Lookahead、LazyOptimizer、MaskedAdamOptimizer、AdaBound
- 护眼灯到底有用吗?2022市面上这几款护眼灯真的能护眼
- 2018年10月OKR初步规划
- 宝塔一个IP创建多站点
- 设计一个小型的物联网应用系统_物联网应用设计需注意的连接器要求