当前位置: 首页 > news >正文

vs2010 c 建设网站台州网红

vs2010 c 建设网站,台州网红,根据描述生成图片的网站,wordpress home给你一个字符串数组 nums 和一个整数 k 。nums 中的每个字符串都表示一个不含前导零的整数。 返回 nums 中表示第 k 大整数的字符串。 注意:重复的数字在统计时会视为不同元素考虑。例如,如果 nums 是 ["1","2","2"]&am…

给你一个字符串数组 nums 和一个整数 k 。nums 中的每个字符串都表示一个不含前导零的整数。

返回 nums 中表示第 k 大整数的字符串。

注意:重复的数字在统计时会视为不同元素考虑。例如,如果 nums 是 ["1","2","2"],那么 "2" 是最大的整数,"2" 是第二大的整数,"1" 是第三大的整数。

示例 1:

输入:nums = ["3","6","7","10"], k = 4
输出:"3"
解释:
nums 中的数字按非递减顺序排列为 ["3","6","7","10"]
其中第 4 大整数是 "3"

示例 2:

输入:nums = ["2","21","12","1"], k = 3
输出:"2"
解释:
nums 中的数字按非递减顺序排列为 ["1","2","12","21"]
其中第 3 大整数是 "2"

示例 3:

输入:nums = ["0","0"], k = 2
输出:"0"
解释:
nums 中的数字按非递减顺序排列为 ["0","0"]
其中第 2 大整数是 "0"

提示:

  • 1 <= k <= nums.length <= 104
  • 1 <= nums[i].length <= 100
  • nums[i] 仅由数字组成
  • nums[i] 不含任何前导零

题解:当看到这个题目的时候,第一反应是将字符串转为整数,然后按照整数的大小进行排序,然后返回第K大的数字转为字符串结果就行了。 这个复杂度应该是O(nlgn)+O(M),其中n表示nums的长度,M表示所有字符串连起来的总长度。

于是,开始写代码。第一次提交:

class Solution {fun kthLargestNumber(nums: Array<String>, k: Int): String {val temp:Array<Int> = Array(nums.size){0}for(i in 0 until nums.size){temp[i]=nums[i].toInt()}temp.sort()return temp[nums.size-k].toString()}
}

很开心,没想到中等难度的题目这么简单。然后,执行出错!!Line 5: Exception in thread "main" java.lang.NumberFormatException: For input string: "6888794705"

哦哦,原来是超越整数的界限了。那么再来,我这次用Double数据类型。

class Solution {fun kthLargestNumber(nums: Array<String>, k: Int): String {/*val temp:Array<Int> = Array(nums.size){0}for(i in 0 until nums.size){temp[i]=nums[i].toInt()}*///nums.sort(){c->c.toInt()}//return nums[nums.size-k].toString()val sortedArr = nums.sortedWith(Comparator { s1, s2 ->val i1 = s1.toDouble()val i2 = s2.toDouble()(i1 - i2).toInt()        // Comparator 这个比较器默认返回的是Int类型,所以这里强制转换})return sortedArr[nums.size-k].toString()}
}

当输入倒数第二个测试用例的时候,也是一个数字有这么长的时候9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

又报错了!!

又超过限制了,于是又想到了一个办法,使用BigInteger类:

class Solution {fun kthLargestNumber(nums: Array<String>, k: Int): String {/*val temp:Array<Int> = Array(nums.size){0}for(i in 0 until nums.size){temp[i]=nums[i].toInt()}*///nums.sort(){c->c.toInt()}//return nums[nums.size-k].toString()val sortedArr = nums.sortedWith(Comparator { s1, s2 ->val i1 = s1.toBigInteger()val i2 = s2.toBigInteger()(i1 - i2).toInt()})return sortedArr[nums.size-k].toString()}
}

以为解决的是,但是toInt这个地方又越界了。。郁闷了一会之后,继续又想到了when这个单词:

class Solution {fun kthLargestNumber(nums: Array<String>, k: Int): String {/*val temp:Array<Int> = Array(nums.size){0}for(i in 0 until nums.size){temp[i]=nums[i].toInt()}*///nums.sort(){c->c.toInt()}//return nums[nums.size-k].toString()val sortedArr = nums.sortedWith(Comparator { s1, s2 ->val i1 = s1.toBigInteger()val i2 = s2.toBigInteger()when{i1<i2 -> -1 i1>i2 -> 1 else -> 0 }})return sortedArr[nums.size-k].toString()}
}

既然comparator要返回Int型,那么比较的话,只有三种情况,都返回就行了。终于通过了!

时间1328 ms

击败

N/A

内存69.8 MB

击败

N/A

http://www.yayakq.cn/news/493376/

相关文章:

  • 宁波本地模板网站建设平台怎么做网站海外运营推广
  • 成都网站建设优化公司工程平台公司是什么意思
  • 仿土豆网站源码欧亚快递100
  • 网站制作 软件开发互联网销售包括哪些
  • 电子商务实训网站建设通过照片街景识别的地图
  • 做公司网站大概多少钱百度推广费用一年多少钱
  • 郑州整站网站推广工具设计制作活动主题
  • 合肥做网站需要多少钱黄冈网站官方登录平台
  • 长沙微信网站开发生态城门户网站 建设动态
  • 湛江市seo网站设计报价优化网站推广网站
  • icp是网站备案携程网站开发
  • 旅游网站如何建设网络推广哪家好
  • 温州做网店的网站万能网
  • 接做网站的做网站用什么软件
  • 建设银行 杭州招聘网站个人logo创意设计免费
  • 百度怎么优化网站关键词网站出错 图片
  • 招聘网站哪个平台比较好成都工程设计公司
  • 濮阳做网站优化营销型网站建设品牌
  • 企业手机端网站模板下载台州外包加工网
  • 设计网站公司速寻亿企邦青岛团购网站建设
  • 门户网站建设理由网页网站建设
  • 河南做网站推广哪个好暗红色网站
  • 打渔网站建设wordpress地址设置
  • 查询建设工程施工规范网站wordpress 修改密码
  • 火车头wordpress免登录发布资源网站优化排名
  • 做网站都需要学什么网站栏目划分
  • 自己做网站百度会收录福州鼓楼区建设局网站
  • 温江建设局网站wordpress 手机 自适应
  • 创建学校网站吗网络服务有点问题别紧张试试看刷新页面
  • 网站建设基础教程天元建设集团有限公司财务报表