我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 栈字母表 >

笔试算法题记录2

归档日期:06-28       文本归类:栈字母表      文章编辑:爱尚语录

  1.给定一组元素个数不定的字符串数组,每个字符串的长度不定;请统计出该字符串数组中的英文字母子串、数字子串和其他字符子串的总数; 输出为以,符号分隔3个数值,分别代表英文字母子串、数字子串和其他字符子串的数量; 实现时无需考虑非法输入。

  输出为以,符号分隔3个数值,分别代表英文字母子串、数字子串和其他字符子串的数量。

  思路:从左往右扫描输入字符串,利用两指针指向字符串的开始两个字符,往后递增,每一个步判断两指针所指的字符是否相同,如果不相同,则将后一个指针所指的字符类型所对应的字符字串计数器加1.

  3)输入字符串中两个词之间可以有多个空格,但是返回的字符串中词只能用单个空格隔开

  思路:利用栈的先进后出特性,从右往左倒序读取数组,如果是字母则入栈,遇到空格时将栈中所有字母弹出并输出,再输出一个空格,这里注意的是考虑到原字符串里可能有多个空格连在一起的情况,所以遇到空格出栈中字母之前需要判断此时栈是否为空。当然了,对原字符穿一开始还要去掉首位空格才行。

  3.LISP语言唯一的语法就是括号要配对。形如 (OP P1 P2 ...),括号内元素由单个空格分割。其中第一个元素OP为操作符,后续元素均为其参数,参数个数取决于操作符类型

  - search: 在第一个字符串中查找第二个字符串的第一次出现,返回从这开始到结束的所有字符串,如果查找不到,返回空字符串,参数个数 2

  - combine: 把所有字符串组合起来,参数个数不定,但至少 1 个

  其中P1, P2 等参数可能是带双引号的字符串,如 abc,也有可能是另外一个 (OP P1 P2 ...),上述字符串包括引号;引号中间的所有字符,均为 ASCII 可打印字符,且不会再出现引号 (),输出也为带双引号的字符串

  思路:利用栈结构,遇到 ( 、操作符、操作数都压入栈,遇到) 持续出栈 直至弹出一个 (, 计算结果,再将这个结果压入栈。

本文链接:http://mezzomagazine.com/zhanzimubiao/119.html