这个题目就是一个排序问题,只不过排序的是字符串类型表示的整数。
看提示信息可知每个数字的长度最长可达100,因此不能够将字符串转化成数字。

做法很简单:自定义一个字符串数字比较函数,排序找到第k大的元素。
C++ 中字符串可以直接比较大小,很方便,不要使用 compare 函数会导致排序错误。

自带快排:
(比较函数记得定义成 static bool;符号与意义相同 <:从小到大;>:从大到小)

class Solution {public:static bool cmp (string s1, string s2) {if(s1.size() == s2.size()) return s1 > s2;else return s1.size() > s2.size();}string kthLargestNumber(vector<string>& nums, int k) {sort(nums.begin(), nums.end(), cmp);return nums[k-1];}
};

堆排序代码:

class Solution {public:struct cmp {bool operator () (string s1, string s2) {if(s1.size() == s2.size()) return s1 < s2;else return s1.size() < s2.size();}};string kthLargestNumber(vector<string>& nums, int k) {string out = "";priority_queue<string, vector<string>, cmp> que;for(int i=0; i<nums.size(); i++){que.push(nums[i]);}while(k > 0) {out = que.top();que.pop();k--;}return out;}
};

Leetcode 5855 数组第K大的整数相关推荐

  1. C++实现求数组中前K大的数

    参考:http://blog.csdn.net/xiaoding133/article/details/8037086 C++实现求数组中前K大的数,即求数组的最大的k个数 //数组中求最大的k个数 ...

  2. 第 k 大的整数**

    求 n 个整数中第 k(1≤k≤n) 大的整数. 输入格式 n 和 k n 个整数 输出格式 第 k 大的整数 输入样例 10 3 2 5 -1 9 25 0 12 4 -7 12 输出样例 12 / ...

  3. 【C++】寻找数组第k大元素

    一.基本问题 题目:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素. 注意:你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 要求:时间复杂度为 O(N ...

  4. 找出数组中前K大的值

    将数组划分为两部分,前K项为前K大值的集合,无需有序. while(true) {int flag = nums[k];while(i < k && nums[i] >= ...

  5. 数组中前k大的数系列

    1. 概述 给定一个数组array,大小为n,找到其中第k大的数或者前k大的数.这是一个电面高频题,有快排,堆排等多种思路来解题,本文章将从时间复杂度和空间复杂度,来介绍这些算法以及它们所适用的场景 ...

  6. python--查找数组第K大的数

    这个问题应该是比较经典的,要求能在时间复杂度O(n)解决. 最暴力的方法当然是先排个序,时间复杂度是O(nlogn),但是这样浪费了很多不必要的计算. O(n)的算法思想借鉴了快排的思想: 快速排序每 ...

  7. [leetcode]堆排序 求前k大的数

    前一篇博客中写到了排序算法,其中包含一个堆排序,因此本篇博客讲解堆这个数据结构及其应用. 关于最大堆最小堆以及初始建堆和整理堆在上篇博客中有提及,此处不再赘述.下面讲解一个堆的重要应用,求n个数中前k ...

  8. 无序数组中找第K大的数

    类快排算法 leetcode215 由于只要求找出第k大的数,没必要将数组中所有值都排序. 典型解法:快速排序分组. 在数组中找到第k大的元素 取基准元素,将元素分为两个集合,一个集合元素比基准小,另 ...

  9. LeetCode 215. Kth Largest Element in an Array--数字第K大的元素--最大堆或优先队列--C++,Python解法

    题目地址:Kth Largest Element in an Array - LeetCode Find the kth largest element in an unsorted array. N ...

  10. java寻找数组中第k大的数

    快速排序思想,先找数组第k小的数,当执行一次partition函数找到index下标时,index左边的数比arr[index]小,右边的数比arr[index]大 public class Test ...

最新文章

  1. 深入浅出:移动端(Android 和 iOS)数据采集埋点 SDK
  2. Java操作MongoDB代码示例
  3. this指向问题(2)
  4. 2020年房产经纪行业和购房市场洞察报告
  5. PoolTogether本周Loot Box奖金组合中新增加入ESSAY代币
  6. vue识别不了.ico后缀的图片,显示[object Module]
  7. 【整理】C#2.0特性之局部类、空属类型和静态类
  8. [源码和报告分享] 基于VC++的MFC类库实现的通讯录管理系统
  9. HTML案例之注册页面
  10. C51单片机-蓝牙遥控小车
  11. 移动端html字体大小自适应,【css】移动端响应式布局与响应式字体大小
  12. 【C盘内存不足的解决方法】
  13. led大屏按实际尺寸设计画面_微间距LED大屏幕拼接显示系统设计方案
  14. [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  15. 1506.01186-Cyclical Learning Rates for Training Neural Networks
  16. 免费的机器人聊天接口
  17. 瑞士轮赛制模拟器_【入门必读】VGC综合介绍(下篇)【翻译】
  18. 行至青鸟 | 为学习保驾护航的“教学管理”
  19. [小O地图-XOMAP] - 功能简介
  20. 拿到别人提供的虚拟机需要做的几件事情

热门文章

  1. 终端设置指南,让Mac/Linux/Windows终端更上一层楼
  2. 最简示例 简介洗牌函数 之 __shfl_up_sync() cuda 之 shuffle
  3. css 文本稿纸样式,word设置稿纸样式 易雪龙玩Word:将文档文字设置为方格式稿纸样式...
  4. 用PS做的一个个人logo
  5. python 实现接口上传图片
  6. 同步linux软件源,linux 双向同步软件 unison的安装和配置!
  7. 【图示】AppleID绑定支付宝的方法
  8. Deep Dream:理解深度神经网络结构及应用(实战篇)
  9. 方程检验格式图片_解方程并检验(图片) x+3.5=3.5解方程
  10. 【Python】生成全0矩阵的方法