首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何找到并打印数组中出现K次的最小数,其中K是用户输入?

要找到并打印数组中出现K次的最小数,可以按照以下步骤进行:

  1. 首先,定义一个空字典 count_dict,用于记录数组中每个数字出现的次数。
  2. 遍历数组,对于数组中的每个数字,将其作为字典的键,如果该数字已经在字典中,则将其对应的值加1,否则将其添加到字典中,并将其对应的值初始化为1。
  3. 定义一个空列表 result,用于存储出现K次的数字。
  4. 再次遍历数组,对于数组中的每个数字,如果该数字在字典中对应的值等于K,则将其添加到 result 列表中。
  5. 如果 result 列表为空,则说明数组中没有出现K次的数字,可以打印相应的提示信息。
  6. 如果 result 列表不为空,则说明数组中存在出现K次的数字,可以打印 result 列表中的最小值。

以下是示例代码实现(使用Python语言):

代码语言:txt
复制
def find_and_print_min_k(nums, k):
    count_dict = {}
    for num in nums:
        if num in count_dict:
            count_dict[num] += 1
        else:
            count_dict[num] = 1
    
    result = []
    for num in nums:
        if count_dict[num] == k and num not in result:
            result.append(num)
    
    if len(result) == 0:
        print("数组中没有出现{}次的数字。".format(k))
    else:
        print("数组中出现{}次的最小数是:{}".format(k, min(result)))

# 示例用法
nums = [1, 2, 3, 4, 5, 2, 3, 4, 5, 5]
k = int(input("请输入K的值:"))
find_and_print_min_k(nums, k)

这段代码会先根据用户输入的K值,在给定的数组中找到出现K次的最小数,并进行打印输出。如果数组中不存在出现K次的数字,则会打印相应的提示信息。

注意:以上代码示例中没有涉及到云计算、IT互联网领域的相关知识和产品,因为该问题与云计算领域无关。如果您有其他与云计算相关的问题,欢迎提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

66道前端算法面试题附思路分析助你查漏补缺

扩展: 当使用两个长度不同栈来模拟队列时,队列最大长度为较短栈长度两倍。 6. 旋转数组小数字 题目: 把一个数组开始若干个元素搬到数组末尾,我们称之为数组旋转。...详细资料可以参考: 《出现次数超过一半数字》 29. 最小 K 个数 题目: 输入 n 个整数,找出其中最小 K 个数。...第一个只出现字符 题目: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现字符,返回它位置。...(2)第二种思路,首先对字符串进行一遍历,将字符和字符出现次数以键值对形式存储在 Map 结构。然后第二遍历时 ,去 Map 获取对应字符出现次数,找到第一个只出现字符。...现在,要求你使用这幅牌模拟上面的过程,然后告诉我们 LL 运气如何。为了方便起见,你可以认为大小王 0。 思路: 首先判断 5 个数字是不是连续直观方法数组排序。

1.7K20

万字长文!剑指offer全题解思路汇总

面试题9:斐波那契数列:如何不使用递归实现斐波那契数列,需要把前面两个数字存入在一个数组。斐波那契数列变形有很多,如青蛙跳台阶,一跳一个或者两个;铺瓷砖问题。...面试题12:打印1到最大n位数:该题要点注意输入n位数是否会导致溢出,因此利用字符串模拟整数加法。「注意」:在打印函数,需要判断打印数字是否是以0开头,同时判断条件 num[i] !...第一种思路,出现次数超过一半数字,不管如何,必然这个数字位于数组中间位置,因此可以采用类似于快排划分方法,找到位于数组中间位置数字,然后在顺序检索是否这个数字出现次数超过一半。...第一种方法基于划分方法,如果查找第k个数字,第一划分之后,划分位置如果大于k,那么就在前面的子数组中进行继续划分,反之则在后面的子数组继续划分,时间复杂度O(n);第二种方法可以适用于「海量数据...,其中start整个数组起点,lengthleft长度,然后再进行交换。

78120
  • 算法题目(二)

    11、旋转数组小数字 12、斐波那契数列 13、二进制1个数 14、求数值整数次方 15、打印1到最大N位数 16、在O(1)时间删除节点 17、调整数组顺序,使奇数位于偶数前面 18、获取链表倒数第...k个结点 19、反转链表 20、合并两个排序链表 11、旋转数组小数字 题目: 把一个数组开始若干个元素搬到数组末尾,我们称之为旋转。...首先每次找到数组中间数字mid,如果mid大于最左端left,说明最小数在mid右侧区间,则改变left,置left为mid;如果mid小于数组右侧right,说明最小数在mid左侧区间,则改变...1到最大N位数 题目:输入数字n,按顺序打印出从1到最大n位十进制数,比如输入3,则打印出1、2、3直到最大三位数999....cur->next->next=NULL;//断掉环 } 20、合并两个排序链表 题目:输入两个递增排序链表,合并这两个链表使新链表结点仍然按照递增排序 ListNode* Merge

    31920

    Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day23】—— 算法1

    100000个数(top K问题)   先拿100000个数建堆,然后一添加剩余元素,如果大于堆顶数(100000最小),将这个数替换堆顶,调整结构使之仍然一个最小堆,这样,遍历完后,堆...top K问题   在大规模数据处理,经常会遇到一类问题:在海量数据找出出现频率最好k个数,或者从海量数据找出最大k个数,这类问题通常被称为top K问题。...针对top K类问题,通常比较好方案分治+Trie树/hash+小顶堆(就是上面提到最小堆),即先将数据集按照Hash方法分解成多个小数据集,然后使用Trie树活着Hash统计每个小数据集中query...词频,之后用小顶堆求出每个数据集中出现频率最高K个数,最后在所有top K求出最终top K。...对于有10亿个整数,如何找出其中最大10万个这个问题   容易想到方法将数据全部排序,然后在排序后集合中进行查找,最快排序算法时间复杂度一般为O(nlogn),如快速排序。

    35610

    公司算法面试笔试题目集锦,个人整理,不断更新

    4、在K-Means如何拾取k? 5、你如何知道高斯混合模型是不是适用? 6、假设聚类模型标签已知,你如何评估模型性能? 微软 1、你有哪些引以为豪机器学习项目?...领英 1、(对数据工程师)请编写一些代码来确定字符串左右括号是否平衡? 2、如何找到二叉搜索树第二大元素? 3、请编写一个函数,它接受两个排序向量,返回一个排序向量。...4、如果你有一个输入数字流,如何在运行过程中找到频繁出现数字? 5、编写一个函数,将一个数字增加到另一个数字,就像 pow()函数一样。...4、如何使用 Python 读取一个非常大制表符分隔数字文件,来计算每个数字出现频率? Paypal 1、请编写一个函数,让它能在 O(n)时间内取一个句子逆向打印出来。...2、请编写一个函数,从一个数组拾取,将它们分成两个可能数组,然后打印两个数组之间最大差值(在 O(n) 时间内)。 3、请编写一个执行合并排序程序。

    2.2K30

    牛客网剑指offer-2

    1到n整数1出现 题目描述 求出1~13整数1出现次数,算出100~1300整数1出现次数?...例如输入数组{3,32,321},则打印出这三个数字能排成小数字为321323。...(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现字符,返回它位置 分析 当s为空时候,直接返回-1,当不为空时候,遍历字符串,当从双向查找索引值都相等,即找到所求 class...分析 使用一个列表来保存元素,因为每个元素最多出现,当出现第二时候,删除该元素,最后列表只会留下只出现元素 class Solution: # 返回[a,b] 其中ab出现两个数字...例如,当从字符流只读出前两个字符”go”时,第一个只出现字符”g”。当从该字符流读出前六个字符“google”时,第一个只出现字符”l”。

    1.1K20

    普林斯顿算法讲义(一)

    你也可以创建自己异常。简单一种终止程序执行打印错误消息 RuntimeException。...程序 MultiwordSearch.java 从命令行读取查询词 q[1],…,q[k]序列,从标准输入读取文档单词 d[1],…,d[N]序列,找到这些 k 个单词按相同顺序出现最短间隔。...为该问题设计一个二算法。提示:参见三数之和算法。 找到主要项。 给定一个从标准输入任意长项序列,其中一个项出现次数严格占多数,识别主要项。只使用恒定量内存。 解决方案。...此外,如果v和w不兼容类型或其中任何一个为null,v.compareTo(w)必须抛出异常。 Date.java 演示了如何用户定义类型实现Comparable接口。 选择排序。...假设我们在一个随机排序数组上使用插入排序,其中项目只有三个键值之一。运行时间线性、二还是介于两者之间? 解决方案。 二。 以希尔排序示例跟踪方式展示希尔排序如何数组进行排序。

    11610

    《啊哈算法》桶排序详解

    2.实现原理 假定有1-100个编号桶(既定义一个长度为100整型一维数组),每输入一个数字·就在对应桶上插一个小旗(也就是对应下标的桶加1),如果这个数字出现了n就在对应桶上插n个小旗...,当所有数输入完毕时,只需要从下标1开始找那些数字1,如果1就打印12就打印2,是多少就打印多少。...因为数组下标本身就是已经排好了,只要出现数就在对应下标上+1,然后遍历数组那些大于1就行。...但是判断大于1不能用if判断,如果用if如果数字出现了两个虽然下标对应数已经大于1但是只会打印,会造成数据丢失bug。...} for(int k=0;k<100;k++){ //把数组拿出来看看,当然其中可能也有为0数,国为没被占 for(int z= 0;z<array[k];z++)

    38420

    剑指Offer

    旋转数组小数字 10.旋转数组小数字 把一个数组开始若干个元素搬到数组末尾,我们称之为数组旋转。 输入一个升序数组一个旋转,输出旋转数组最小元素。...字符串第一个只出现字符 51. 字符串第一个只出现字符 在字符串找出第一个只出现字符。 如输入"abaccdeff",则输出b。...例如,当从字符流只读出前两个字符 go 时,第一个只出现字符 g。 当从该字符流读出前六个字符 google 时,第一个只出现字符 l。...数组出现两个数字 61. 数组出现两个数字 一个整型数组里除了两个数字之外,其他数字都出现了两。 请写程序找出这两个只出现数字。 你可以假设这两个数字一定存在。...数组唯一只出现数字 62. 数组唯一只出现数字 在一个数组除了一个数字只出现之外,其他数字都出现了三。 请找出那个只出现数字。 你可以假设满足条件数字一定存在。

    63920

    剑指OFFER之把数组排成最小数(九度OJ1504)

    题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出所有数字中最小一个。例如输入数组{3,32,321},则打印出这三个数字能排成小数字为321323。...输入输入可能包含多个测试样例。 对于每个测试案例,输入第一行为一个整数m (1<=m <=100)代表输入正整数个数。 输入第二行包括m个正整数,其中每个正整数不超过10000000。...输出: 对应每个测试案例, 输出m个数字能排成小数字。...样例输入: 3 23 13 6 2 23456 56 样例输出: 13236 2345656 解题思路:   首先,普通思路就是权进行一排列,找出最小数。但是这样可能会超时。   ...0; } } } 排序后,可以保证直接进行连接数列最小

    555100

    数组面试题-大力出奇迹?

    文章目录 数组重复数字 二维数组查找 旋转数组小数字 调整数字顺序使奇数位于偶数前面 数组出现次数超过一半数字 最小k个数 连续子数组最大和 数字序列某一位数字 把数组排成最小数..."); else printf("找不到"); return 0; } /*运行结果 1 2 找到了 */ 旋转数组小数字 题目:把一个数组开始若干元素搬到数组末尾,我们称之为数组旋转...输入一个递增排序数组一个旋转,输出旋转数组最小元素。 直观做法可能就是遍历数组找到小数字即可,复杂度 ,但就完全没用到给定条件,事情不会这么简单。...个数 题目:输入n个整数,找出其中最小k个数。...也就是说,如果我们从头到尾依次异或数组每个数字,那么最终结果刚好那个只出现数字,那些出现以上数字全部在异或抵消了。 可这道题目有两个只出现数字。怎么拆成两个子数组呢?

    58910

    谷歌微软等科技巨头数据科学面试107道真题:你能答出多少?

    K-Means 如何拾取 k? 5. 你如何知道高斯混合模型是不是适用? 6. 假设聚类模型标签已知,你如何评估模型性能? 微软 1. 你有哪些引以为豪机器学习项目? 2....请问如何在一个巨大数据集中找到中值? Uber 1.(对数据工程师)编写一个函数用来计算给定数字平方根(2 个小数点精度)。随后:避免冗余计算,现在使用缓存机制优化你功能。...如何找到二叉搜索树第二大元素? 3. 请编写一个函数,它接受两个排序向量,返回一个排序向量。 4. 如果你有一个输入数字流,如何在运行过程中找到频繁出现数字? 5....如何使用 Python 读取一个非常大制表符分隔数字文件,来计算每个数字出现频率? Paypal 1. 请编写一个函数,让它能在 O(n)时间内取一个句子逆向打印出来。 2....请编写一个函数,从一个数组拾取,将它们分成两个可能数组,然后打印两个数组之间最大差值(在 O(n) 时间内)。 3. 请编写一个执行合并排序程序。 SQL 问题 微软 1.

    80870

    烧脑:谷歌微软等巨头107道数据科学面试题,你能答出多少?

    K-Means 如何拾取 k? 5. 你如何知道高斯混合模型是不是适用? 6. 假设聚类模型标签已知,你如何评估模型性能? 微软 1. 你有哪些引以为豪机器学习项目? 2....请问如何在一个巨大数据集中找到中值? Uber 1.(对数据工程师)编写一个函数用来计算给定数字平方根(2 个小数点精度)。随后:避免冗余计算,现在使用缓存机制优化你功能。...如何找到二叉搜索树第二大元素? 3. 请编写一个函数,它接受两个排序向量,返回一个排序向量。 4. 如果你有一个输入数字流,如何在运行过程中找到频繁出现数字? 5....如何使用 Python 读取一个非常大制表符分隔数字文件,来计算每个数字出现频率? Paypal 1. 请编写一个函数,让它能在 O(n)时间内取一个句子逆向打印出来。 2....请编写一个函数,从一个数组拾取,将它们分成两个可能数组,然后打印两个数组之间最大差值(在 O(n) 时间内)。 3. 请编写一个执行合并排序程序。 SQL 问题 微软 1.

    50110

    文心一言 VS 讯飞星火 VS chatgpt (80)-- 算法导论7.4 5题

    每次分割期望时间复杂度 O(n/k),因为每次分割我们将数组分成两个部分,一个部分长度为 n/2,另一个部分长度为 n/2 + k。对于这个分割,我们需要遍历 k 个元素找到其正确位置。...因此,期望时间复杂度仍然 O(nk)。但是,由于最坏情况概率较低,因此在实际应用,我们可以选择较大 k 来避免最坏情况出现。...因为我们只在最后一调用快速排序时才对整个数组进行插入排序,所以总时间复杂度为: O(nlogn + n) = O(nlogn + nlogk) 现在我们来讨论如何选择 k。...从理论角度: 首先,快速排序时间复杂度为O(nlogn),其中n输入数组长度。在快速排序过程,我们将输入数组分为两个子数组选择一个主元(pivot)将其放置在正确位置上。...这里还是要用到7.4(算法导论第7章)分析方法。对于快排还要计算期望比较次数。 因为被划分在同一个小数组k元素,不会在快排里比较

    19230

    python-剑指offer41-62

    数组某些数字重复,但不知道有几个数字重复。也不知道每个数字重复几次。请找出数组任意一个重复数字。...例如,如果输入长度为7数组{2,3,1,0,2,5,3},那么对应输出第一个重复数字2。...和'*'正则表达式。模式字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意(包含0)。 在本题中,匹配指字符串所有字符匹配整个模式。...例如,当从字符流只读出前两个字符"go"时,第一个只出现字符"g"。当从该字符流读出前六个字符“google"时,第一个只出现字符"l"。...如果,则返回该节点,停止递归;当左子树和根节点都没有返回节点时,递归右子树,判断有无返回节点。如果有,停止递归,返回所要返回节点。 59、堆 如何得到一个数据流中位数?

    43700

    大厂面试系列(七):数据结构与算法等

    先跟面试官说了思路,然后又在白纸上写了出来 对一个数组进行绝对值排序算法; 非降序数组打印某个值最后出现位置 找出数组超过半数那个数字(摩尔投票) 一个数组反转,o(logn)复杂度用什么排序算法...按出现频次高低输出所有的数字 给定一个乱序数组,求数组内最大连续数; 无序数组找第k数 给一个数组,和k,求数组哪两个数之和为k,除了双层for循环和字典方式还能用什么方式实现; 查找 写二分查找算法...编码规则为: k[encoded_string],表示其中方括号内部 encoded_string 正好重复 k 。注意 k 保证为正整数。...写一个fibnaccio相关例子 输入两个字符串str1 str2和整数n,要求两个数以n进制相加,然后输出字符串str3 就是二位数组如何进行螺旋输出 然后第二道算法题如何从25匹马通过赛马形式找到最快...实现并且设计测试用例(在main函数调用,打印结果) (考虑同号越界问题) 给一个字符串和一个k,要求找到不超过k个不同字符最长子串长度 10进制转16进制(紧张了,有点费时间,啧啧啧) f(0)

    1.1K20

    2023复试——机试随笔【c++】【考研】

    //用数组实现约瑟夫环问题 int a[110]={0}; //元素值为0表示未出局 //i既代表数组下标,也代表每个人编号 //k用来计数,一旦k值达到m,代表此人需要出局,并且k需要重新计数...坑死我了,再出错我 若给定一个区间去判定,需要把区间内可能存在1剔除! 输出问题 如何用C++实现保留X位小数?...将分数化为简分数后,分母全部因数(除去1和其自身)没有为2或5以外数,则该分数就不是无限循环小数;否则为无限循环小数。 涉及到简分式,也就是要求分子分母最大公约数,常用辗转相除法。...(如果余数为0,说明数可以被除尽,即没有循环节) 在余数后面加个0(即余数乘以十),把乘以10 余数当作新被除数,除数不变,记录余数判断余数是否出现过(出现即可停止,说明找到循环节);不断循环...新生小白鼠也如此繁殖。问在第N个月时,活小白鼠有多少对? 输入说明 : 你程序需要从标准输入设备(通常为键盘)读入多组测试数据。

    39161

    《三战Leetcode》寻找有序数组中位数

    请你找出返回这两个正序数组中位数 。...题目最终结果要求中位数,中位数又分为奇偶情况,那我们就可以将抽象求中位数成求有序数组k小数其中k就是对应中位数(即 (m + n) /2,或者(m+n)/2 +1),这样我们就可以对k进行二分查找法找到符合条件数值...小数,所以B[k/2]之前数组更不可能k小数,故B[k/2]及之前元素可以排除掉。...通过上面的思路整理,我们可以看出此处使用了递归思想,递归出口则是当某个数组长度为了0时(此时中位数就是可以取不为0数组值即可)或者k=1(即求第1个小数,此时中位数则取两个数组起始下标对应值最小元素...算法思想在实际应用   ·1、暴力破解:这个思想简单,也是在平常业务被应用到最多,但是并不是一个好选择,如果使用暴力破解,一定要考虑问题输入规模拓张问题,否则效率将极低。

    29210

    第一章 python入门

    #在python3 input:用户输入任何值,都存成字符串类型 #在python2 input:用户输入什么类型,就存什么类型 raw_input:等于python3input 完成一个用户程序交互...) 输出********alex******** 4.计算字符串某个字符个数 test='alexalex' v=test.count('e') 计算e在alexalex中出现多少...程序中经常会有这样场景:要求用户输入信息,然后打印成固定格式     比如要求用户输入用户名和年龄,然后打印如下格式:     My name is xxx,my age is xxx.    ...用户登陆(三机会重试) #7:猜年龄游戏 要求: 允许用户最多尝试3,3都没猜对的话,就直接退出,如果猜对了,打印恭喜信息退出 #8:猜年龄游戏升级版 要求: 允许用户最多尝试...3 每尝试3后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3,以此往复,如果回答N或n,就退出程序 如何猜对了,就直接退出 #题一 count=1 while

    59011
    领券