将一个整数数组先按照因子数量排序,再按照数字大小排序,输出第k个数

同小米OJ比赛题:现在有 n 个数,需要用因子个数的多少进行排序,因子个数多的排在后面,因子个数少的排在前面,如果因子个数相同那么就比较这个数的大小,数大的放在后面,数小的放在前面。现在让你说出排序之后第 KK 个位置的数字是多少。

原文地址:https://www.cnblogs.com/graybird/p/10797991.html

时间: 2024-08-29 22:41:15

将一个整数数组先按照因子数量排序,再按照数字大小排序,输出第k个数的相关文章

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串"486"。n的位数不确定,可以是任意位数的整数。

8.17用递归法将一个整数n转换成字符串.例如,输入486,应输出字符串"486".n的位数不确定,可以是任意位数的整数. #include <stdio.h> char str1[20];int i=0;long n;int main(){        int longToStr(long n);    char *revstr(char *str, int len);    printf("请输入一个整数n:\n");    scanf("

shell 脚本 数字大小排序

shell 实现三个数大小排序 #!/bin/bash tmp=0 echo "input the three number" read -p "1:" a read -p "2:" b read -p "3:" c if [ $a -gt $b ] then tmp=$a a=$b b=$tmp fi if [ $a -gt $c ] then tmp=$a a=$c c=$tmp fi if [ $b -gt $c ] t

更好列表页中一个航班.先unset删除数组中一个键值对,再追加,最后按键排序

<?php $arr = array( '0' => array('item' => array( 'aa' => 'aaa', 'bb' => 'bbb' )), '1' => array('item' => array( 'cc' => 'ccc', 'dd' => 'ddd' )), '2' => array('item' => array( 'ee' => 'eee', 'ff' => 'fff' ))); echo '

集合内部先实现按年龄排序再实现以姓名排序

定义一个实体存放需要排序的数据 package ListAscByCollectionsMethod; /* * 定义一个实体,存放数据. */ public class User { String name; String age; public User(String name,String age){ this.name=name; this.age=age; } public String getAge() { return age; } public void setAge(Strin

sorted 与 sort的区别 正向排序 reverse()列表反向排序 与列表数字倒序排序

>>> a = [1,3,6,7,4] >>> >>> sorted(a) [1, 3, 4, 6, 7] >>> >>> a.reverse() >>> a [4, 7, 6, 3, 1] >>> >>> sorted(a)[::-1] [7, 6, 4, 3, 1] >>> a [4, 7, 6, 3, 1] >>> >

【C语言】统计数字在排序数组中出现的次数

//数字在排序数组中出现的次数. //统计一个数字在排序数组中出现的次数.比如:排序数组{1,2,3,3,3,3,4,5}和数字3,因为3出现了4次,因此输出4. #include <stdio.h> int One_Num_Times(int *arr, int len, int num) { int i = 0; int times = 0; for (i = 0; i < len;i++,arr++) { if (*arr == num) { times++; } } return

在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。

//在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边. // 例如: 当输入a = {8,4,1,6,7,4,9,6,4}, // a = {1,7,9,8,4,6,4,6,4}为一种满足条件的排序结果 using System; namespace SuanFa { class Program { //在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边. static void Main(string[] args) { int[]

【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

帮朋友做的,好像是一个面试题.如果仅仅是考察递归的话,应该是够了,程序的健壮性和通用性都很一般的说-- #include <stdio.h> #include <stdlib.h> int count = 0; void myRevert(int n, int a[]) { if(n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); } } int main() { int n

一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的 相对顺序 比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时间复杂度O(N),空间O(1) 。

#include <iostream> using namespace std; void mSort(int *arr, int iLen) { int i, j, k, tmp; for(i = 0, j = 0; i < iLen; i++) { if (arr[i] < 0) { tmp = arr[i]; for(k = i; k > j; k--) arr[k] = arr[k - 1]; arr[j++] = tmp; } } } int main() { in