说实话,昨天UC的笔试题基本全是基础,但是太基础,直接导致很多都不能确定了。看来不管找工作还是找实习,一定要复习到位。好在我也一直是抱着打酱油的味道,实习与否不是特别在意,否则真心要鄙视死自己啦。

好的,言归正传,题目是一道经典的题目:在一个字符串中找到第一个只出现一次的字符。要求

1、必须用C/C++编写代码。

2、不能使用嵌套的for/while循环。

看到这道题时,我坑爹的看成不能使用for/while循环了。我当时想的是,要遍历字符串不能使用for/while,除非递归和使用goto语句,否则这几乎是不可能的(如果可以,请点明)。觉得题目应该不会这么变态吧,迟迟不愿动笔,后来知道人家说的是嵌套好不好。好的,思路出来了(后来才知道网上一堆这样的题目)。

1、暴力求解,复杂度为O(n*n).必然会使用到双循环。否决!

2、排序解决,可以。复杂度也降低,各种排序算法见本博博文。各种内部排序算法

3、哈希表的方式,不知道为什么,我对哈希表的方式情有独钟,很多算法我的第一反应都是哈希。O(∩_∩)O哈哈~。昨天的算法代码如下:

4、当然,还有第四种解决方式,用二进制的方式,用两个位表示一个字符,扫描。感觉和哈希表的方式差不多。

 int HT[]={};
char getChar(char* str){
assert(str!=NULL);
for (int i=;i<strlen(str);i++)
HT[(int)str[i]]++;
for(int i=;i<strlen(str);i++){
if (HT[(int)str[i]]==)
return str[i];
}
return NULL;
}

看到博文的各路大仙,除了以上四种方式,还有其他什么求解方式,求指点。

参考文献:真心无

版权所有,欢迎转载,但是转载请注明出处:潇一

UC算法笔试题的更多相关文章

  1. 算法笔试题整理——升级蓄水池 && 字符串数字表达式计算值 && 求旅游完所有景点需要的最少天数 && 宝箱怪

    1. 小米笔试题——升级蓄水池 题目描述: 在米兔生活的二维世界中,建造蓄水池非常简单. 一个蓄水池可以用n个坐标轴上的非负整数表示,代表区间为[0-n]范围内宽度为1的墙壁的高度. 如下图1,黑色部 ...

  2. 算法题14 小Q歌单,牛客网,腾讯笔试题

    算法题14 小Q歌单,牛客网,腾讯笔试题 题目: 小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌 ...

  3. 算法题16 贪吃的小Q 牛客网 腾讯笔试题

    算法题16 贪吃的小Q 牛客网 腾讯笔试题 题目: 链接:https://www.nowcoder.com/questionTerminal/d732267e73ce4918b61d9e3d0ddd9 ...

  4. acwing 算法面试、笔试题公开课整理记录

    week1 Google KickStart 2019 A轮 讲解视频地址AcWing 549. 训练   tag: 排序 遍历 在线练习地址AcWing 550. 包裹       在线练习地址Ac ...

  5. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  6. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  7. C/C++ 笔试题

    /////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...

  8. NET出现频率非常高的笔试题

    又到了金三银四的跳槽季,许多朋友又开始跳槽了,这里我简单整理了一些出现频率比较高的.NET笔试题,希望对广大求职者有所帮助. 一..net基础 1.  a=10,b=15,请在不使用第三方变量的情况下 ...

  9. Web前端面试笔试题总结

    最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面 ...

随机推荐

  1. matlab求矩阵、向量的模

    求矩阵的模: function count = juZhenDeMo(a,b) [r,c] = size(a);%求a的行列 [r1,c1] = size(b);%求b的行列 count = 0; f ...

  2. SVN 服务器安装及配置(WIN7)

    软件安装包 客户端: 服务端: 安装服务端 不整合 Apache 服务器可以忽略此选项. 安装程序会自动在path下配置好环境变量:D:\Subversion\bin; 查看是否安装成功: C:\Us ...

  3. Spring学习-- IOC 容器中 bean 的生命周期

    Spring IOC 容器可以管理 bean 的生命周期 , Spring 允许在 bean 声明周期的特定点执行定制的任务. Spring IOC 容器对 bean 的生命周期进行管理的过程: 通过 ...

  4. Nim博弈(nim游戏)

    http://blog.csdn.net/qiankun1993/article/details/6765688 NIM 游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P- ...

  5. 2017年上海金马五校程序设计竞赛:Problem C : Count the Number (模拟)

    Description Given n numbers, your task is to insert '+' or '-' in front of each number to construct ...

  6. linux基础——磁盘分区和yum安装

    第一部分 1) 开启Linux系统前添加一块大小为15G的SCSI硬盘   2) 开启系统,右击桌面,打开终端   3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1 ...

  7. python3 多态,绑定方法与非绑定方法

    多态:同一种事物的不同形态(一个抽象类有多个子类,因而多态的概念依赖于继承) 1. 序列类型有多种形态:字符串,列表,元组. 2. 动物有多种形态:人,狗,猪 多态性:多态性是指具有不同功能的函数可以 ...

  8. malloc和new的区别 begin

    http://blog.csdn.net/miss_acha/article/details/7279915#comments 1.综述 1,malloc与free是C++/C语言的标准库函数,new ...

  9. 该配置节不能包含 CDATA 或文本元素

    当执行程序时报“该配置节不能包含 CDATA 或文本元素” ,有可能是你的web.config中有异常的文本节点,比如

  10. 安装vue,并新建一个项目

    Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便 ...