zoukankan      html  css  js  c++  java
  • 一道面试题的求解

    很久没上博客园了,今天一口气把10月份的所有感兴趣的首页文章看完,看到一篇“让人懊恼的面试-看程序员的基本功 ”,说来巧啦,博主是我6个月前请教过的学长,当时刚接触.net,想做cms,而他正好在做一个开源的shangdongcms,因为当时刚接触,甚至想加入到那个项目中,结果邮件都写好了,却没发出去。

    文章地址:http://www.cnblogs.com/soundbbg/archive/2008/10/31/1323971.html

    面试的题目是:对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,字符串“Bc”,“Ad,“aC,Hello”,“X man”,“little”,“During,day”能够排序成“Ad”,"aC",“Bc”,During”,“day”,“Hello”,“little”,“x man”,也就是说,在排序的过程并不是传统的按照字符串排序,在排序中还需要将小写字母一并排序,也就是说a字符串要在Bb之前。

    当时想了想,晚上才开始写代码:

    首先用冒泡排序,调用StringCompareTo试验了一下:

    Code

    结果如图:

    a跑前面去了,用Reflector反汇编看下CompareTo也没看出什么。

    大致整理了下思路,冒泡一次,然后传两个字符串进去比较。

    private int SingleStrSort(string str1,string str2)

    {

     

    }

    比较的时候,如果首字母相同,要求比较下一个字符

     

    因为要对大、小写进行比较于是写了个大小写转换方法:

    private char JudgeChar(char chr)

    {

     

    }

    StringSort类:

     

    Sort类:

     

    Code

     

    写完后运行没问题,马上跑去看学长的实现代码,感觉思路是一样的。后来又请教了Gray Zhang ,发现有更好的办法。

    继续研究。。。。。

    Code

  • 相关阅读:
    ASP.NET Web API中通过URI显示实体中的部分字段
    ASP.NET Web API中把分页信息放Header中返回给前端
    写一个针对IQueryable<T>的扩展方法支持动态排序
    Perl处理和收走子进程(退出状态码和wait)
    Perl多进程
    Perl信号处理
    大话西游之大圣娶亲中的至尊宝和紫霞仙子
    Perl List::Util模块用法详解
    Python面向对象:杂七杂八的知识点
    Python迭代和解析(5):搞懂生成器和yield机制
  • 原文地址:https://www.cnblogs.com/kulong995/p/1330182.html
Copyright © 2011-2022 走看看