【算法】程序猿不写代码是不对的47
来源:互联网 发布:淘宝的畅淘卡怎么办理 编辑:程序博客网 时间:2024/06/05 20:45
package com.kingdz.algorithm.time201705;import java.util.Arrays;import java.util.Random;/** * 三色旗问题<br> * 红白蓝的三种旗子若干在绳子上随机排列,每次调换两个旗子,最后使得旗子按照蓝白红进行排列 * * @author kingdz * */public class Algo02 {public static void main(String[] args) {int[] number = new int[10];genNumber(number);System.out.println(Arrays.toString(number));sort(number);}/** * 排序三色旗 * * @param number */private static void sort(int[] number) {int now = 0;int start = 0;while (now < 2) {for (int i = start; i < number.length; i++) {if (number[i] != now) {start = i;break;}}if (start == -1) {now = now + 1;continue;}int end = -1;for (int i = start + 1; i < number.length; i++) {if (number[i] == now) {end = i;break;}}if (end == -1) {now = now + 1;continue;}swap(number, start, end);System.out.println(Arrays.toString(number));}}/** * 交换start和end的位置 * * @param number * @param start * @param end */private static void swap(int[] number, int start, int end) {int tmp = number[start];number[start] = number[end];number[end] = tmp;}/** * 生成随机的三色旗 * * @param number */private static void genNumber(int[] number) {Random r = new Random(System.currentTimeMillis());for (int i = 0; i < number.length; i++) {number[i] = r.nextInt(3);}}}
0 0
- 【算法】程序猿不写代码是不对的47
- 【算法】程序猿不写代码是不对的1
- 【算法】程序猿不写代码是不对的2
- 【算法】程序猿不写代码是不对的3
- 【算法】程序猿不写代码是不对的4
- 【算法】程序猿不写代码是不对的5
- 【算法】程序猿不写代码是不对的6
- 【算法】程序猿不写代码是不对的7
- 【算法】程序猿不写代码是不对的8
- 【算法】程序猿不写代码是不对的9
- 【算法】程序猿不写代码是不对的10
- 【算法】程序猿不写代码是不对的11
- 【算法】程序猿不写代码是不对的12
- 【算法】程序猿不写代码是不对的13
- 【算法】程序猿不写代码是不对的14
- 【算法】程序猿不写代码是不对的15
- 【算法】程序猿不写代码是不对的16
- 【算法】程序猿不写代码是不对的17
- FCN.tensorflow环境配置总结
- IntelliJ IDEA 缺少 javax 包 支持
- Oracle关联更新
- 线程
- HyRoundMenuView
- 【算法】程序猿不写代码是不对的47
- vim编辑器的使用
- 深入理解Python中的生成器
- LeetCode刷题(C++)——String to Integer (atoi)(Medium)
- JDBC总结
- 209. Minimum Size Subarray Sum
- sysdba登录 ORA-01017:用户名密码出错
- 如何使用cocoapods集成ZXing以及编译问题处理
- php使用redis扩展以及安装redis(linux下)