【发布时间】:2009-08-31 14:26:07
【问题描述】:
我们有一种语言 X,它有一个字节和两个字节字符。该语言具有以下特点。
- 单字节字符值将始终小于或等于 127。
- 在双字节字符中,第一个字节总是大于 127,第二个字节值可以是任何值。
问题是,给定一个任意长度的字符串和指向字符串中某个字节的指针,我们必须找出前一个字符是什么,下一个字符是什么。
一种简单的方法是从字符串的开头开始,检查字节的值并比较指针,直到我们到达给定的指针。但在最坏的情况下,如果给定的指针指向给定字符串中的最后一个字节,我们必须遍历所有字符。
我想知道有没有更好的算法,无论字符串的长度如何,都能在恒定时间内给出结果?
【问题讨论】:
-
小于 127?你不是说“小于等于 127”吗?
-
替代标题:为什么 UTF-8 比 shift-jis 更好;)。
标签: algorithm