字符个数统计
有勇气的牛排
1506
算法
2022-06-22 13:06:31
知止自律打卡-微信小程序APP
一款微信自律打卡小程序,支持自定义打卡项目、习惯记录、项目日记、专注计时与数据统计。自律打卡、学习打卡、读书打卡、健身打卡、运动打卡、减肥打卡、戒色打卡、养生打卡、戒烟、戒酒、戒熬夜等多种场景。万能打卡模板自由创建。可自定义每日打卡目标,记录习惯连续天数,可视化追踪成长进度。
了解产品详情 →
微信搜索「知止自律打卡」
知识点:字符串、哈希
描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出3。
数据范围:1≤n≤500
输入描述:
输入一行没有空格的字符串。
输出描述:
输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
示例1
输入:abc
输出:3
输入:aaa
输出:1
牛客HJ python3
str_list = list(set(input()))
conut = 0
for i in str_list:
if 0 <= ord(i) <= 127:
conut += 1
print(conut)
str_list = list(set(input()))
res_list = []
for i in str_list:
if 0 <= ord(i) <= 127:
res_list.append(i)
print(len(res_list))
<p>知识点:<code>字符串</code>、<code>哈希</code></p>
<p><strong>描述</strong><br />
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次<br />
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出3。</p>
<p>数据范围:1≤n≤500</p>
<p><strong>输入描述:</strong><br />
输入一行没有空格的字符串。</p>
<p><strong>输出描述:</strong><br />
输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。</p>
<p><strong>示例1</strong></p>
<pre><div class="hljs"><code class="lang-shell">输入:abc
输出:3
</code></div></pre>
<pre><div class="hljs"><code class="lang-shell">输入:aaa
输出:1
</code></div></pre>
<p>牛客HJ python3</p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-comment"># 方法一 28ms</span>
str_list = <span class="hljs-built_in">list</span>(<span class="hljs-built_in">set</span>(<span class="hljs-built_in">input</span>())) <span class="hljs-comment"># 输入、去重、转列表</span>
<span class="hljs-comment"># 开始计数</span>
conut = <span class="hljs-number">0</span>
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> str_list:
<span class="hljs-keyword">if</span> <span class="hljs-number">0</span> <= <span class="hljs-built_in">ord</span>(i) <= <span class="hljs-number">127</span>: <span class="hljs-comment"># 判断ASCII码 是否符合要求</span>
conut += <span class="hljs-number">1</span>
<span class="hljs-built_in">print</span>(conut)
</code></div></pre>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-comment"># 方法二 30ms</span>
str_list = <span class="hljs-built_in">list</span>(<span class="hljs-built_in">set</span>(<span class="hljs-built_in">input</span>())) <span class="hljs-comment"># 输入、去重、转列表</span>
<span class="hljs-comment"># 开始计数</span>
res_list = []
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> str_list:
<span class="hljs-keyword">if</span> <span class="hljs-number">0</span> <= <span class="hljs-built_in">ord</span>(i) <= <span class="hljs-number">127</span>: <span class="hljs-comment"># 判断ASCII码 是否符合要求</span>
res_list.append(i)
<span class="hljs-built_in">print</span>(<span class="hljs-built_in">len</span>(res_list))
</code></div></pre>
评论区