笔试题
天道988
既然选择了IT,就做好了终身学习的准备!
展开
-
把相邻的数字和英文字符用空格分隔开
最近在优化 es 搜索的时候,遇到个需求,需要把连着的数字和英文字母分隔开。从而让 es 把相邻的数字和英文字母分为 2 个词,因为我们用的是 ik_smart 而不是 ik_max_word ,ik_smart 会把相邻的数字和英文字母分为一个词。所以这部分工作就需要由应用端来完成。需求已经交代清楚了,例如把: 123hello你好最终处理为:123 hello 你好上代码:/** * @Author:shifengqiang * @Date:2021/5/28 9:24 上午 */原创 2021-05-28 09:28:28 · 500 阅读 · 0 评论 -
字符串中单词逆序
比如给定一个字符串" I come from china”输出为"china from come i "用程序实现。方法一:从右到左搜索单词搜索到一个单词(一个空格也看做一个单词)就直接打印。在这里就遇到一个问题,那么计算机是怎么识别一个单词的呢?单词是由空格来界定的,从右到左搜索遇到的第一个非空格就是一个单词的结尾,再继续向左搜遇到第一个空格,该空格再向右走一步就是一个单词的首字母。这样就把原创 2012-10-21 15:41:57 · 1429 阅读 · 0 评论 -
100盏灯经过一系列操作后最后还有多少盏灯亮着(百度的一道笔试题)
今年百度的一道笔试题:有100盏灯(它们的位置编号为1, 2 .. 99,100),刚开始全都是灭着的。第一次把所有的灯都打开,第二次把偶数位置上的灯灭了,第三次把位置是3的倍数的灯原来灭的打开,原来打开着的,灭了。第N次把位置是N的倍数的灯原来灭的打开,原来打开着的,灭了。问第100次后还有多少盏灯灭着的?下面我用编程实现这道题在写代码之前我们先分析一下这道题。100盏灯一会儿灭,一会儿亮到底哟原创 2012-10-26 21:40:52 · 3038 阅读 · 0 评论 -
找出重复的整数
在一个给定的数型组中,找出重复的整数:比如int array[5] = {1,1,3,3,4,5,6}重复的整数是1 ,3。我的想法,先对数组进行排序,使数组处于有序状态,这样一来就容易判断重复的数字。我的判断方法是:用两个指针分别指向两个数字,比如用current指针指向第一个数字1next指针指向第二个数字1,如果current指向的数字等于next指向的数字说明有重复的数字,然后让n原创 2012-10-27 23:11:15 · 798 阅读 · 0 评论 -
用递归法求解一个数组中的最大值和最小值的问题
用递归法求一个给定的数组中的最大值和最小值。分析,分治法,类似二分查找,可以先求解出左半部分的最大值和最小值,再求解出又半部分的最大值和最小值然后合并求解,就可以求解出整个数组中的最大值和最小值。那么递归的出口条件是什么呢?当划分以后只有一个元素的情况下,这个元素既是这个子数组的最大值也是子数组中的最小值,这时候就是递归的出口。下面就让代码开口说话吧。#include "iostrea原创 2012-10-29 23:06:01 · 5200 阅读 · 0 评论 -
最长公共子序列LCS问题
好久没有写博客了,刚才在网上看了清华大学的数据结构公开课,链接:https://www.xuetangx.com 可以注册个账号去听数据结构课程,老师讲的特好。我的代码是按照老师讲的递归算法给了个java版本的实现,通过java版本改c++或其他语言的版本也挺容易的。递归是一种简单解法,刚开始理解会有困难,一个问题如果能简化为一个比原来问题规模小的问题和一个可以解决的问题,最后可以合并这两原创 2013-10-28 22:06:14 · 721 阅读 · 0 评论 -
算法导论学习之插入排序
《算法导论》买了好久了,基本上没怎么看,最近思想上有了准备,觉得学习才是王道。准备重新拾起来学习,下面我就《算法导论》中的排序算法中的插入排序做了个c++的简单实现,附加解释一下自己对下面的这段代码的理解。#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int arra原创 2014-03-02 23:05:23 · 1347 阅读 · 1 评论