相关疑难解决方法(0)

构建给定文本中最常用单词的ASCII图表

挑战:

构建给定文本中最常用单词的ASCII图表.

规则:

  • 只接受a-zA-Z(字母字符)作为单词的一部分.
  • 忽略套管(She== she为了我们的目的).
  • 忽略以下的话(非常苛刻,我知道): the, and, of, to, a, i, it, in, or, is
  • 澄清:考虑don't:这将被视为在范围2不同"单词" a-zA-Z:(dont).

  • 可选(现在正式更改规范为时已晚)您可以选择删除所有单字母"单词"(这可能会缩短忽略列表).

解析给定的text(读取通过命令行参数指定的文件或管道输入;假设us-ascii)并构建word frequency chart具有以下特征的a:

  • 显示22个最常见单词的图表(另请参见下面的示例)(按降序频率排序).
  • 条形width表示单词的出现次数(频率)(按比例).附加一个空格并打印单词.
  • 确保这些条形(加上空格 - 单词空格)始终适合:bar+ [space]+ word+ [space]应始终<= 80字符(确保考虑可能不同的条形和字长:例如:第二个最常见的单词可能要长得多)第一个虽然频率差别不大).在这些约束条件下最大化条宽,并适当缩放条(根据它们所代表的频率).

一个例子:

这个例子的文本可以在这里找到(爱丽丝梦游仙境,刘易斯卡罗尔).

此特定文本将产生以下图表:

 _________________________________________________________________________
|_________________________________________________________________________| she 
|_______________________________________________________________| …

language-agnostic code-golf

156
推荐指数
26
解决办法
3万
查看次数

从SQL中的一列字符串中获取最常用的单词

所以我们这个数据库充满了一堆字符串,在这种情况下是帖子标题.

我想做的是:

  1. 将字符串拆分为单词
  2. 计算字符串中出现的字数
  3. 给我前50个单词
  4. 在data.se查询中没有此超时

我尝试使用适用于data.se的SO问题中的信息如下:

select word, count(*) from (
select (case when instr(substr(p.Title, nums.n+1), ' ') then substr(p.Title, nums.n+1)
             else substr(p.Title, nums.n+1, instr(substr(p.Title, nums.n+1), ' ') - 1)
        end) as word
from (select ' '||Title as string
      from Posts p
     )Posts cross join
     (select 1 as n union all select 2 union all select 10
     ) nums
where substr(p.Title, nums.n, 1) = ' ' and substr(p.Title, nums.n, 1) <> ' '
) w …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

8
推荐指数
1
解决办法
5018
查看次数

标签 统计

code-golf ×1

language-agnostic ×1

sql ×1

sql-server ×1

t-sql ×1