0%
排序总结
Posted on
冒泡排序
1 | func bubbleSort(arr []int) { |
选择排序
1 | func selectionSort(arr []int) { |
插入排序
1 | func insertionSort(arr []int) { |
希尔排序
1 | func shellSort(arr []int) { |
快速排序
1 | func quickSort(arr []int) { |
归并排序
1 | func mergeSort(arr []int) []int { |
堆排序
1 | func heapSort(arr []int) { |
非比较类型排序
1 | // 计数排序 |
走迷宫
Posted on
题目描述
1 | 定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: |
输入描述
1 | 输入两个整数,分别表示二位数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0表示可以走的路。数据保证有唯一解,不考虑有多解的情况,即迷宫只有一条通道。 |
输出描述
1 | 左上角到右下角的最短路径,格式如样例所示。 |
示例
输入
1 | 5 5 |
输出
1 | (0,0) |
code
1 | package main |
埃及分数
Posted on
题目描述
1 | 分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。 |
输入描述
1 | 输入一个真分数,String型 |
输出描述
1 | 输出分解后的string |
示例
输入
1 | 8/11 |
输出
1 | 1/2+1/5+1/55+1/110 |
思路
代码
1 | package main |
最长公共字符串
Posted on
题目描述
1 | 计算两个字符串的最大公共字串的长度,字符不区分大小写 |
输入描述
1 | 输入两个字符串 |
输出描述
1 | 输出一个整数 |
示例
输入
1 | asdfas |
输出
1 | 6 |
1 | package main |
1 | package main |
火车进站
Posted on
题目描述
1 | 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先进站的才能出站。要求以字典序排序输出火车出站的序列号。 |
输入描述
1 | 有多组测试用例,每一组第一行输入一个正整数N(0<N<10),第二行包括N个正整数,范围为1到9。 |
输出描述
1 | 输出以字典序从小到大排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行,具体见sample。 |
示例
输入
1 | 3 |
输出
1 | 1 2 3 |
code
1 | package main |