ascii码问题

来源:3-8 在滑动窗口中做记录 Longest Substring Without Repeating Characters

慕慕9414451

2017-11-14

老师,请问滑动为什么开的freq[256]数组,而不是128呢?ascii码,教材书上写的就只有128个字符。谢谢。

写回答

1回答

liuyubobobo

2017-11-14

你是对的。在这个问题中,开128就够了。在这里我只是因为char是8个bit的,最多承载256种可能,所以开了256的空间。但实际上对于标准asc ii码来说,只使用了7个bit。


一个不用去纠结到底开多少空间的方法是使用set来存储字符,在这个课程的下一章就会讲到:)

2
2
liuyubobobo
回复
慕慕9414451
适用。但是如果只限定这些字符集的话,可以对这些字符进行一定的处理,使得开的空间更少。比如限定'0'-'9'的字符集的话,可以用ch-'0'的方式让他们映射到索引值在0-9的空间里,开10个空间就够了。如果限定'a'-'z'的小写字母字符集的话,可以用ch-'a'的方式让他们映射到索引值在0-25的空间里,开26个空间就够了。
2017-11-14
共2条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7408 学习 · 1150 问题

查看课程