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

学校门户网站建设百度号码认证申诉平台

学校门户网站建设,百度号码认证申诉平台,上海市网,做外贸找客户的网站2284. 最多单词数的发件人 给你一个聊天记录,共包含 n 条信息。给你两个字符串数组 messages 和 senders ,其中 messages[i] 是 senders[i] 发出的一条 信息 。 一条 信息 是若干用单个空格连接的 单词 ,信息开头和结尾不会有多余空格。发件…

2284. 最多单词数的发件人

给你一个聊天记录,共包含 n 条信息。给你两个字符串数组 messages 和 senders ,其中 messages[i] 是 senders[i] 发出的一条 信息 。

一条 信息 是若干用单个空格连接的 单词 ,信息开头和结尾不会有多余空格。发件人的 单词计数 是这个发件人总共发出的 单词数 。注意,一个发件人可能会发出多于一条信息。

请你返回发出单词数 最多 的发件人名字。如果有多个发件人发出最多单词数,请你返回 字典序 最大的名字。

注意:

  • 字典序里,大写字母小于小写字母。
  • "Alice" 和 "alice" 是不同的名字。

示例 1:

输入:messages = ["Hello userTwooo","Hi userThree","Wonderful day Alice","Nice day userThree"], senders = ["Alice","userTwo","userThree","Alice"]
输出:"Alice"
解释:Alice 总共发出了 2 + 3 = 5 个单词。
userTwo 发出了 2 个单词。
userThree 发出了 3 个单词。
由于 Alice 发出单词数最多,所以我们返回 "Alice" 。

示例 2:

输入:messages = ["How is leetcode for everyone","Leetcode is useful for practice"], senders = ["Bob","Charlie"]
输出:"Charlie"
解释:Bob 总共发出了 5 个单词。
Charlie 总共发出了 5 个单词。
由于最多单词数打平,返回字典序最大的名字,也就是 Charlie 。

提示:

  • n == messages.length == senders.length
  • 1 <= n <= 104
  • 1 <= messages[i].length <= 100
  • 1 <= senders[i].length <= 10
  • messages[i] 包含大写字母、小写字母和 ' ' 。
  • messages[i] 中所有单词都由 单个空格 隔开。
  • messages[i] 不包含前导和后缀空格。
  • senders[i] 只包含大写英文字母和小写英文字母。

 思路:

python有一个zip函数可以同时遍历两个数组,非常方便。中规中矩的一道题。最后返回的时候的写法可以借鉴一下,非常简洁。就算是二元组也能用前面一个数字来比较大小。

class Solution(object):def largestWordCount(self, messages, senders):hashmap = {}for message, sender in zip(messages, senders):length = len(message.split(" "))if sender in hashmap:hashmap[sender] += lengthelse:hashmap[sender] = lengthreturn max((v, k) for k, v in hashmap.items())[1]

347. 前 K 个高频元素

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

示例 1:

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

示例 2:

输入: nums = [1], k = 1
输出: [1]

提示:

  • 1 <= nums.length <= 105
  • k 的取值范围是 [1, 数组中不相同的元素的个数]
  • 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的

进阶:你所设计算法的时间复杂度 必须 优于 O(n log n) ,其中 n 是数组大小。

 解法:使用了类似冒泡排序的方式来进行排序,如果用堆的话,估计面试的时候不会有这个API来直接调,就先不管他的。做出来先。

class Solution(object):def topKFrequent(self, nums, k):""":type nums: List[int]:type k: int:rtype: List[int]"""dict={}for i in nums:dict[i]=dict.get(i,0)+1li=list(dict.keys())print(li)for i in range(len(li)):for j in range(len(li)-1-i):if dict[li[j]]<dict[li[j+1]]:li[j],li[j+1]=li[j+1],li[j]return li[0:k]

692. 前K个高频单词

给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。

返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。

示例 1:

输入: words = ["i", "love", "leetcode", "i", "love", "coding"], k = 2
输出: ["i", "love"]
解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。注意,按字母顺序 "i" 在 "love" 之前。

示例 2:

输入: ["the", "day", "is", "sunny", "the", "the", "the", "sunny", "is", "is"], k = 4
输出: ["the", "is", "sunny", "day"]
解析: "the", "is", "sunny" 和 "day" 是出现次数最多的四个单词,出现次数依次为 4, 3, 2 和 1 次。

注意:

  • 1 <= words.length <= 500
  • 1 <= words[i] <= 10
  • words[i] 由小写英文字母组成。
  • k 的取值范围是 [1, 不同 words[i] 的数量]

进阶:尝试以 O(n log k) 时间复杂度和 O(n) 空间复杂度解决。

解法:与上一题类似

class Solution(object):def topKFrequent(self,words, k):cnt = {}for word in words:cnt[word] = cnt.get(word, 0) + 1rec = list(cnt.keys())for i in range(len(rec)):for j in range(len(rec)-1-i):if cnt[rec[j]]<cnt[rec[j+1]]:rec[j],rec[j+1]=rec[j+1],rec[j]if cnt[rec[j]]==cnt[rec[j+1]] and rec[j]>rec[j+1]:rec[j],rec[j+1]=rec[j+1],rec[j]return rec[0:k]

 

http://www.tj-hxxt.cn/news/87167.html

相关文章:

  • 安装wordpress程序北京百度推广优化公司
  • 免费网站建设模板下载竞价开户推广
  • 哪个网站做清洁的活多关键词优化一年的收费标准
  • 山东做网站建设公司排名seo入门教学
  • 美甲网站自适应源码鼓楼网页seo搜索引擎优化
  • 从零开始网站建设下载即刻搜索引擎入口
  • 白城学习做网站的学校如何免费做网站推广的
  • 无锡网站制作工作室如何用html制作一个网页
  • 深圳网站排名怎么做seo整站优化费用
  • Java除了做网站开发哈能做啥百度搜索怎么优化
  • 南昌微信网站建设网络服务有哪些
  • 花生壳域名直接做网站360优化大师安卓下载
  • 公司企业网站建设步骤桂林网站优化
  • 本地测试dedecms网站保存在dedeampz那里百度认证官网
  • 企业网站数防泄露怎么做全球外贸b2b网站
  • 长春网站制作套餐友情链接的作用
  • 做网站在自己电脑建立虚拟机app推广一手单
  • 邢台市应急管理局排名优化网站
  • 网站编程语言排行榜最新新闻消息
  • 高校网站建设需求分析报告seo分析工具
  • 买网站做设计参考属于什么费用高端网站定制
  • php网站做分享到朋友圈搜索引擎优化的具体操作
  • 如何建设电影会员网站百度店铺免费入驻
  • 专业做图片制作网站小程序
  • 宿州公司做网站友情链接qq群
  • 网站除了wordpress外西安百度竞价代运营
  • php mysql网站开发全程实例 pdf无锡seo关键词排名
  • 去视频网站做编辑宁波seo网络推广报价
  • flash制作网站界面网页设计与制作模板
  • 苏州好的做网站的公司哪家好快速排名精灵