排序是数据处理中十分常见的操作,现代高级语言都有现成的n种排序算法。但了解它们的代码,对计算机思维有帮助。 简单选择排序 每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。 无论数组原始排列如何,比较次数都不变;变的是交换次数。完全有序 ...
分类:
编程语言 时间:
2019-10-03 22:21:44
阅读次数:
119
问题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二(除以7余2),问物几何? 解法: 1:从5和7的公倍数中找出除3余1的最小数70,从3和7的公倍数中找出被5除余1 的最小数21,从3和5的公倍数中找出被7除余1的最小数15。 2:用70乘2,21乘3,15乘2,相加得233。 3.用 ...
分类:
其他好文 时间:
2019-10-02 18:41:34
阅读次数:
96
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 C++实现: c ...
分类:
编程语言 时间:
2019-09-29 23:40:47
阅读次数:
90
大意: 给定一个$1e9\times 1e9$的矩阵$a$, $a_{i,j}$为它正上方和正左方未出现过的最小数, 每个询问求一个矩形内的和. 可以发现$a_{i,j}=(i-1)\oplus (j-1)+1$, 暴力数位$dp$即可 ...
分类:
其他好文 时间:
2019-09-29 12:32:59
阅读次数:
71
分两类情况讨论 1. 当所有人排名≤25时,由于要输出拒绝参加决赛邀请者的可能最小数目,我们就假设没有人拒绝,直接输出0 2. 当有人排名>25时,此时必然有人拒绝,同样由于要输出拒绝参加决赛邀请者的人的可能最小数目,我们就假设只有排名小于等于最大值的人拒绝参加决赛,则所有参加决赛的人的排名也都小于 ...
分类:
其他好文 时间:
2019-09-27 23:25:22
阅读次数:
329
``` !/usr/bin/python def select_sort(li): 循环列表依次拿出最小的值将值放在第一个位置 for i in range(len(li) 1): 最后一个数肯定是最大或者最小 不需要比较 所以循环次数减少1 min_loc = i 假设列表第一个数为最小数 for ...
分类:
编程语言 时间:
2019-09-27 19:03:03
阅读次数:
107
分析:二分查找的变种,没有具体的值进行比较,主要用高低位的值来和中间值进行比较,进而缩小范围。 1.arr[low] < arr[high] 说明数组本身并没有被旋转,因为数组本身是一个非递减数组,arr[n] <= arr[n+1] 就必然成立,如果数组被旋转了那么 arr[head] >= ar ...
分类:
编程语言 时间:
2019-09-25 16:08:56
阅读次数:
104
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析:排成最小的数,那么这些数组元素肯定有个最佳的排序,所以我们需要对数组元素进行排序,排序之后数组元素顺序连接即可... ...
分类:
编程语言 时间:
2019-09-24 11:59:38
阅读次数:
82
一、bully算法 经过以下几个步骤 1.启动节点ping协调器,获取当前集群状态(节点信息,集群名称等),如果协调器没有启动一直到ping通为止 2.无论能ping通,都会拿到对象activeMaster现役master 3.判断activeMaster的数量,0说明当前集群没有master,1表 ...
分类:
其他好文 时间:
2019-09-22 23:14:50
阅读次数:
112
【问题描述】 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 时间限制:3 ...
分类:
编程语言 时间:
2019-09-21 15:23:21
阅读次数:
114