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

给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序,如果不同的单词有相同出现频率,按字母顺序排序。

题目要求 给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。...i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2 输出: [“i”, “love”] 解析: “i” 和 “love” 为出现次数最多的两个单词...注意,按字母顺序 “i” 在 “love” 之前。...ArrayList中 //keySet相当于得到了一个Set,Set中存放的就是所有的key ArrayList arrayList = new ArrayList...(map.keySet()); //3.按照刚才的字符串出现次数,进行排序 //sort 默认按照升序排列 //此处需要按照字符串出现次数降序排列,也就是通过比较器来自定制比较规则

1.7K30

Java实现给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。

["i", "love", "leetcode", "i", "love", "coding"], k = 2 输出: ["i", "love"] 解析: "i" 和 "love" 为出现次数最多的两个单词...注意,按字母顺序 "i" 在 "love" 之前。...sunny", "is", "is"], k = 4 输出: ["the", "is", "sunny", "day"] 解析: "the", "is", "sunny" 和 "day" 是出现次数最多的四个单词...(最小的栈顶) 5 开一ArrayList来存key 6 用Collections.sort(XX,new comparator) 来进行从大到小排序, (重写 比较器) 7 返回 Arraylist...//返回结果 return list; } } 注意 一定要((String) o2).compareTo((String) o1) 来按字母顺序来放

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    文字对称中的数学与魔术(二)——英文字母到单词的对称性

    在上一篇文章中,我们引入了语言文字对称性这个领域,重点介绍了阿拉伯数字的对称性,相关内容请戳: 文字对称中的数学与魔术(一)——阿拉伯数字的对称性 今天我们接着介绍英文的对称性。...不绕弯子了,英文字母的对称性总结在下面的表中: 表1 英文字母对称性 小写字母-中心对称 大写字母-中心对称 小写字母-左右轴对称 大写字母-左右轴对称 小写字母-上下轴对称 大写字母-上下轴对称 自身对称...后来,在马丁加德纳全书的《跳棋游戏与非欧几何斯科特金对称作品》中,了解到了这方面的设计大师斯科特金,他是一个几乎可以把任何对称或不对称的单词拼凑成对称模样的天才。...有些并没法直接用程序批量生产,就像斯科特金的作品一样,需要根据需求加上一些字体变形来进行艺术创造。而每个魔术也都是独立的有生命力的个体,它们喜欢吸收这些养分来让自己变得神奇。...下一篇我们将继续介绍语言文字对称的基础部分,进入最后一篇,大家应该猜到我要介绍什么文字的对称性了吧?敬请期待! 视频抢先看!

    98620

    基于Python的语料库数据处理(五)

    re.findall()检索某个字符串,与re.search()不同的是,它返回一个列表,列表中包含与表达式匹配的所有结果。...在正则表达式中,一个普通字符匹配一个与之相对应的字符书写正则表达式时,需要注意两点:一是必须首先引入re模块(import re)二是将表达式放在引号中间,引号前一般加字母r,r表示后面书写的内容是raw...可以匹配上述文本中的任意一个字母、数字、空白和行末的句点。 '\w'可以匹配上述文本中的任意一个字母和数字,但不能匹配空白和行末的句点。 '\s'可以匹配上述文本中的任意一个空白。...'\d'd可以匹配上述文本中的任意一个数字。 'is'既可以匹配上述文本中His中的is,也可以匹配is单词。 '\bis'只能匹配上述文本中的is单词,不能匹配His中的is。...'e'既可以匹配单词 phone中的字母e,也可以匹配单词 number中的字母e;但是,'e\b'则只能匹配单词phone中的字母e。

    94320

    通配符与正则

    万用字符,代表一定有一个字符 # 注解字符,常用在说明或者备注中 \ 转义字符,将特殊字符还原为一般字符 | 分隔字符,分隔两个管道命令 ; 连续命令界定符,用来分隔 ~ 登录用户的 home 路径 $...: 匹配其前面的字符1次或者0次 + : 匹配其前面的字符至少出现1次(扩展正则表达式中) 位置匹配 ^ : 行首 $ : 行尾 \任意字符必须作为单词首部出现...\> 或 \b : 词尾,其前面的任意字符必须作为单词尾部出现 \B : 非单词开头或结尾 ^$ : 空白行 分组 (ab)* : 匹配 ab 这个分组出现任意次 \1 : 引用第一个左括号以及与之对应的右括号所包括的内容...任意一个字符 \ 转义字符 * 重复0个或者多个前一字符情况 {n,m} 连续 n 到 m 个的前一个字符,若为 {n} 则是连续的 n 个前一个字符,若是 {n,} 则是连续 n 个以上的前一个字符...[list] 表示字符列表集合 [ch1-ch2] 表示字符顺序列表 [^] 表示不包含字符 使用正则进行匹配的示例 grep -n '^#' temp.txt:搜索到行首为 # 的那一行 grep

    1.3K10

    Python基础知识3:re正则表达式

    :[\t\n\r\r\v] \S 匹配任意非空白字符:[^\t\n\r\r\v] \w 匹配任意数字和字母:[a-zA-Z0-9] \W 匹配任意非数字和字母:[^a-zA-Z0-9]...[a-zA-Z0-9] \W匹配非任何字母或数字字符,即[^\w] \b 匹配一个单词边界,也就是指单词和空格间的位置,匹配\w和\W之间,比如一些特殊的字符标点,空格等。...B [^\b] 案例10:\b想要匹配一个单词I,而不是单词中包含的I 2、主要函数: match(正则模型, 要匹配的字符串, flags=0),从起始位置开始匹配,匹配成功,则返回一个对象,未匹配成功返回...,匹配所有合规则的字符串,匹配到的字符串放到一个列表中,未匹配成功返回空列表。...group() 获取匹配到的所有结果,不管有没有分组将匹配到的全部拿出来,有参取匹配到的第几个如2 groups() 获取模型中匹配到的分组结果,只拿出匹配到的字符串中分组部分的结果 groupdict

    75970

    tcl三部曲(一)、替换、引用与匹配

    替换变量:$ 变量替换由$触发,$此处表示调用,$将Tcl变量的值插入单词中,如下所示: ?...一条命令中可以含有任意多个单词,每个单词都可以是任意的字符串值,分隔单词的空白不是单词的一部分,分隔命令的换行符也不是单词的一部分。...$引用的变量名由字母数字和下划线构成,遇到非数字、字母、下划线就会停止,并不是说变量名中不可以含有其他字符,在含有其他字符时需要用{}进行引用表示这是一个整体。 ?...glob返回的是一个列表形式的返回值,类似于一个数组,当直接使用filedelete [glob *.v]进行删除时会失败是因为此时操作的对象是list的地址,而非list中的多个元素,所以使用{*}对列表的地址进行解析...把里面的内容作为一个单词传递给命令过程,之后命令过程在根据命令参数再去解析这个单词中的内容。 Part04三种匹配方式 Tcl中存在三种匹配方式:exact、glob、正则表达式。

    3.9K11

    Grep(Regex)中的正则表达式

    在本文中,我们将探讨在grep的GNU版本中如何使用正则表达式的基础,大多数Linux操作系统默认情况下都提供此功能。 Grep正则表达式 正则表达式或正则表达式是与一组字符串匹配的模式。...以下模式将匹配以“ co”开头的字符串的任意组合,后接除“ l”之后为“ la”的任何字母(例如“ coca”,“ cobalt”等),但不匹配包含“ cola”的行 ”: $grep 'co[^l]a...[:lower:] 小写字母。 [:upper:] 大写字母。 有关所有字符类别的完整列表,请参阅Grep手册。 量词 量词Quantifier允许您指定要出现的匹配项必须出现的项数。...{n,} 至少匹配n个项目。 {,m} 最多匹配m次以上项。 {n,m} 将前一项匹配n至m次。 *(星号)字符与前面的项目匹配零次或多次。....* 正则表达式匹配任意数量的任何字符: $grep -E '^[A-Z].*[.,]$' file.txt ? (问号)字符使前一项为可选,并且只能匹配一次。

    2.8K40

    Python 08 re 正则表达式

    匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 代码/语法 说明 * 重复零次或更多次...[0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字...比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义: 表3.常用的反义代码 代码/语法 说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符...\B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 例子:\S+匹配不包含空白符的字符串。...re.split   可以使用re.split来分割字符串,如:re.split(r’\s+’, text);将字符串按空格分割成一个单词列表。

    75600

    【从零学习python 】66.深入了解正则表达式:模式匹配与文本处理的利器

    正则表达式模式 模式字符串使用特殊的语法来表示一个正则表达式: 字母和数字表示他们自身,一个正则表达式模式中的字母和数字匹配同样的字符串。...,'hello') // 这里的 . 表示的是匹配任意字符 ret = re.search(r'\.','he.llo') // 这里的 \. 进行了转义,才表示标点符号自身。...\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,er\b 可以匹配 “never” 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。 \B 匹配非单词边界。...重复 下表列出了正则表达式中的重复相关的元字符及其含义: 字符 描述 * 匹配前一个字符零次或多次。 + 匹配前一个字符一次或多次。 ? 匹配前一个字符零次或一次。...\b 匹配一个单词边界,也就是指单词和空格间的位置。 \B 匹配非单词边界。 \d 匹配任意数字字符,等价于 [0-9]。 \D 匹配任意非数字字符,等价于 [^0-9]。

    11500

    正则表达式用法简介与速查

    [^abc] 匹配:“非a非b非c”的任意字符 – 定义一个区间 [A-Z] 匹配:字母A,B,C,…,Z中的任意一个字符 \ 对下一个字符转义 需要转义的字符: . [ ] ^ - \ * ?...特殊元字符 元字符 说明 补充说明 \d 匹配任意一个数字字符 等价于[0-9] \D \d 的反义,匹配一个任意非数字字符 等价于[^0-9] \w 匹配任意一个“字母数字或下划线”字符 等价于[A-Za-z0...匹配单词的开头 (扩展的正则表达式,egrep支持) \> 匹配单词的结束 (扩展的正则表达式,egrep支持) ^ 匹配字符串的开头 一般将整段文本视为一个字符串,可以和分行匹配模式组合使用 $ 匹配字符串的结尾...在本例中,car 单词的开头处,其左边是一个空格(即\W),右边是一个字母 c(即\w),符合 \b 的边界判断条件。...如下例中,我们想匹配冒号前的字符, 但又不想把冒号本身给匹配出来。

    3.7K20

    统计文件中出现的单词次数

    2)END模块:与BEGIN模块相反,是处理完文件后的操作。不匹配任何输入行,常用于输出一些总结信息。...3)匹配表达式: [[:alpha:]] 代表字母 [[:alnum:]] 代表字母与数字字符 [a-zA-Z0-9] 代表单个字母和数字字符 匹配到/root/kevin.txt中所有的单词...分为以下几步: 1)将文本文件以一行一个单词的形式显示出来; 2)将单词中的大写字母转化成小写字母,即Word和word认为一个单词; 3)对单词进行排序; 4)对排序好的单词列表统计每个单词出现的次数...; 5)最后显示单词列表的前n项。..."[a-z][A-Z][0-9]" "\n" kevin is a good boy come on baby 总结 1)sort -k2第二个域会按字母顺序对单词进行排序,字母以a开头的单词在以z

    3.8K111

    正则表达式

    模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 普通字符 普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。...如果要查找字符串中的 * 符号,则需要对 * 进行转义,即在其前加一个 \ ,runo\*ob 匹配字符串 runo*ob。 许多元字符要求在试图匹配它们时特别对待。...定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界。...例如,‘[a-z]’ 可以匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。 [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。...例如,‘[^a-z]’ 可以匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符。 \b 匹配一个单词边界,也就是指单词和空格间的位置。

    78720

    正则表达式30分钟入门教程

    下面来看看更多的例子: \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。...匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束...不幸的是,它也将匹配256.300.888.999这种不可能存在的IP地址。...比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义: 常用的反义代码 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置...这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),这个单词会被捕获到编号为1的分组中,然后是1个或几个空白符(\s+),最后是分组1中捕获的内容(也就是前面匹配的那个单词

    84800

    模式匹配

    模式中的特殊字符 字符 + :一个或多个相同的字符,如:/ab+/在字符串abbc中匹配的将是abb,而不是ab。 字符 *和? :它们与+类似,区别在于*匹配0或任意个相同字符,?...字符 []和[^] []意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。...^表示除其之外的所有字符,如:/d[^deE]f/匹配d加非deE字符加f的字符串。 匹配任意字母或数字 /[0-9]/表示任意数字,[a-z]表示任意小写字母,[A-Z]表示任意大写字母。...任意大小写字母、数字的表示方法为:/[0-9a-zA-Z]/,-表示字符范围。 转义字符\ 如果你想把模式中的特殊字符作为普通字符,须在其前加斜线“\”。...锚模式 ^ 或 \A仅匹配串首$ 或 \Z仅匹配串尾\b匹配一个单词边界,也就是指单词和空格间的位置, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。

    1.7K30

    Bash 脚本:正则表达式基础篇

    它意味着所提到的正则表达式将寻找一个词,它以 开始,在中间包含字母 中任意一个,并且字母 最为最后一个字符。它可以是 , 或者 ,可以匹配一个单独的词或者其它单词像 , 或者 的一部分。...下面提到的是基本元字符的列表, ◈ 点将匹配任意字符 ◈ 将匹配一个字符范围 ◈ 将匹配除了括号中提到的那个之外的所有字符 ◈ 将匹配零个或多个前面的项 ◈ 将匹配一个或多个前面的项 ◈ 将匹配零个或一个前面的项...例如,我们需要搜索一些特别的单词而不是匹配任何字符, 这里,我们正寻找一个单词,以 开头,以 结尾,并且中间只能有 、 或者 中的一个。 在方括号中我们可以提到单个到任意数量的字符。...我们在方括号中也可以定义像 或者 作为匹配字符的列表。 这就像正则表达式的 not 操作。当使用 时,它意味着我们的搜索将包括除了方括号内提到的所有字符。...我们只是在搜索中寻找单词,为什么我们得到了整个句子作为我们的输出。 这是因为它满足我们的搜索标准,它以字母 开头,中间有任意数量的字符并以字母 结尾。

    1.8K80

    Python3快速入门(七)——Pyth

    但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边。 (?! re)前向否定界定符。与肯定界定符相反;当所含表达式不能在字符串当前位置匹配时成功。 (?...\z匹配字符串结束 \G匹配最后匹配完成的位置。 \b匹配一个单词边界,也就是指单词和空格间的位置。...例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 \B匹配非单词边界。'...3、正则表达式实例 python匹配 "python" [Pp]ython匹配 "Python" 或 "python" [aeiou]匹配中括号内的任意一个字母 [0-9]匹配任何数字 [a-z]匹配任何小写字母...re.split(pattern, string[, maxsplit=0, flags=0]) split 方法按照能够匹配的子串将字符串分割后返回列表 pattern匹配的正则表达式 string要匹配的字符串

    81210

    grep中使用d匹配数字不成功的原因

    将匹配单个"o",而 'o+' 将匹配所有 'o' 不支持 不支持 不支持 不支持 . 匹配除换行符('\n')之外的任意单个字符(注意:awk 指令中的句点能匹配换行符) . ....n,m} 能匹配 "good",但不能匹配 godm 和 n 均为非负整数,其中 n 匹配 n 次且最多匹配 m 次 ,例如:o{1,3}将配"fooooood" 中的前三个 o(请注意在逗号和两个数之间不能有空格...*等,它们被放在[ ]中,那么它们将变成一个普通字符) [xyz] [xyz] [xyz] [xyz] [^xyz] 负值字符集合,匹配未包含的任意一个字符(注意:不包括换行符),例如:'[^abc]'...可以匹配 "Lay" 中的'L'(注意:[^xyz]在awk 指令中则是匹配未包含的任意一个字符+换行符) [^xyz] [^xyz] [^xyz] [^xyz] [A-Za-z] 匹配大写字母或者小写字母中的任意一个字符...(注意:要写成递增) [A-Za-z] [A-Za-z] [A-Za-z] [A-Za-z] [^A-Za-z] 匹配除了大写与小写字母之外的任意一个字符(注意:写成递增) [^A-Za-z] [^A-Za-z

    4.1K10

    一文搞定Python正则

    匹配0个或者1个任意字符(非贪婪模式) ^ 开始位置 $ 结束位置 \s 匹配任意空白 \S 匹配任意非空白 \d 匹配一个数字 \D 匹配一个非数字 \w 匹配一个单词字符,包含数字和字母 \W 匹配一个非单词字符...,包含数字和字母 [abcd] 匹配abcd中的一个任意字符 [^abcd] 匹配不含包abcd的任意字符 + 匹配1次或者多次前面的内容 {n} 匹配n词(固定) {n,} 匹配至少n次 {n,m}...最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。 ?...| 将两个匹配条件进行逻辑“或”(or)运算。...aeiou] 匹配中括号内的任意一个字母 [aeiou]中匹配一个字母 [0-9] 匹配任何数字。

    1.7K10
    领券