自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 LeetCode 面试题 04.02. 最小高度树

给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum...

2021-05-27 14:25:29 154

原创 C++中未解之谜

下面的题目是刚刚在群里看到的,可能了解的深入了就知道原因了,暂时不明白,还请大家不吝赐教。int b=4;cout而自己重载++操作符可以正确输出:class Int{ public: friend ostream &operator<<(ostream&out,Int i){out<<i.i;return out;}const int operator++(int)

2015-09-08 15:30:27 638

原创 求一个字符串中连续出现次数最多的子串

这是程序员面试宝典第四版P237一道题目,自己想试试,几天不写代码,手生了,还真花了点时间。比较简单,就是循环遍历,对子串长度从1到s.size()-1穷举#include#includeusing namespace std;int main(int argc, const char * argv[]){ string s,tmp,cmp; int count,maxcnt=

2015-09-05 20:47:53 695

原创 常见排序算法整理

一 堆排序       堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]  即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。  堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&ke

2015-09-04 16:44:13 761

原创 Bag of words(matlab实现)

其实前面就是kmeans,然后Hard voting。关于kmeans不细说了,就是更新中心的过程,一直到类心变化在误差范围内。kmeans聚类时用的训练数据中center个随机数据初始化,后面用的欧氏距离度量,其中计算欧氏距离时用了向量量化,加速运算。这是参考了别人的代码实现的,每个人针对自己的研究可能还需要小小修改。适合入门的看看。function dic=CalDic(data,

2015-08-31 19:35:08 5657

转载 C++虚函数和纯虚函数

1.首先:强调一个概念        定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。       定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。 2.关于实例化一个类: 有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。

2015-08-30 21:16:06 330

原创 Python入门

首先安装好python。这个步骤网上很多,傻瓜操作,一步步来就没错。安装好python后就阔以在shell环境下小试牛刀啦。1python中,变量是指向某个数据的指针,例如:x=12 意思是:x指向存储12的地址。也因此不能通过x修改相应存储区数据,只能令x指向新的值。其中 id意思是取x的地址2 python中的函数定义:格式:def fun(parameter1,p

2015-08-30 14:52:55 505

原创 华为OJ(递推公式)

描述已知一个递推公式A[N+1] = A[N] * 2 + 2,且A[1] = 2,求A[N]的值 详细描述:接口说明原型:voidCalculateAN(unsigned n, char *pOutRes)输入参数:unsigned n 题目描述中的N输出参数:char *pOutRes A[N]的值。因为当n较大时,A

2015-08-28 19:52:33 1022

原创 华为OJ(坐标移动)

描述开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10;  A1A;  $%$;  YAD; 等。 下面是一个简单的例子 如: A10;S20

2015-08-28 15:32:53 1454

原创 华为OJ(识别有效的IP地址和掩码并进行分类统计)

描述请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。 所有的IP地址划分为 A,B,C,D,E五类 A类地址1.0.0.0~126.255.255.255;  B类地址128.0.0.0~191.255.255.255;  C类地址192.0.0.0~223.255.255.255; D类地址224.0.0.0~239.255.2

2015-08-28 11:27:45 2538

原创 华为OJ(简单错误记录)

描述开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理:  1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加; 2、 超过16个字符的文件名称,只记录文件的最后有效16个字符; 3、 输入的文件可能带路径,记录文件名称不能带路径。知识点字符串运行时间限制

2015-08-27 19:27:26 1302

原创 华为OJ(密码验证合格程序)

描述密码要求:   1.长度超过8位   2.包括大小写字母.数字.其它符号,以上四种至少三种   3.不能有相同长度超2的子串重复   说明:长度超过2的子串知识点字符串,数组运行时间限制0M内存限制0输入一组或多组长度超过2的子符串。每组占一行输出

2015-08-27 13:49:59 917

原创 华为OJ(简单密码破解)

描述密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 他是这么变换的,大家都

2015-08-27 13:32:26 1026

原创 华为OJ(汽水瓶)

描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?

2015-08-27 13:27:55 675

原创 华为OJ(删除字符串中出现次数最少的字符)

描述:  实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。知识点:  字符串 题目来源:  内部整理 练习阶段:  中级 运行时间限制: 无限制内存限制: 无限制输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出

2015-08-27 13:16:14 570

原创 华为OJ(笔画)

描述一笔画游戏是一个数学游戏  即平面上由多条线段构成的一个图形能不能一笔画成,使得在每条线段上都不重复?例如汉字‘日’和‘中’字都可以一笔画的,而‘田’和‘目’则不能。请编程实现一笔画:首先输入坐标系上的点数个数,然后输入点的坐标,请判断这张图是否可以一笔画出,并输出画线顺序 (每条线段必须经过一次,且只能经过一次。每个端点可以经过多次。)当有多种方式可以完成一笔画时,每一步都必须尽可能

2015-08-26 22:13:35 2262

原创 华为OJ(字符串排序)

描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。      如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。    如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。    如,输入:By?e 输出:Be?y样例:    输入:   A Famous Saying: 

2015-08-26 22:06:13 2434

原创 华为OJ(查找兄弟单词)

描述题目描述 知识点查找运行时间限制10M内存限制128输入先输入字典中单词的个数,再输入n个单词作为字典单词。输入一个单词,查找其在字典中兄弟单词的个数再输入数字n输出根据输入,输出查找到的兄弟单词的个数输出指定的第n个兄弟单词

2015-08-25 21:12:11 2779 2

原创 华为OJ(素数伴侣)

描述题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳

2015-08-25 20:17:22 4270 1

原创 华为OJ(字符串合并处理)

描述按照指定规则对输入的字符串进行处理。详细描述:将输入的两个字符串合并。对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。对排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100

2015-08-25 18:17:54 3504

原创 华为OJ(整数与IP地址间的转换)

描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字             相对应的二进制数10                   000010100                    000000003                    00000011

2015-08-25 15:17:40 1090

原创 华为OJ(统计每个月兔子的总数)

描述有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?     /**     * 统计出兔子总数。     *      * @param monthCount 第几个月     * @return 兔子总数     */    public static int getTotalCount(int mon

2015-08-25 13:13:01 500

原创 华为OJ(迷宫问题)

描述定义一个二维数组N*M(其中2int maze[5][5] = {        0, 1, 0, 0, 0,        0, 1, 0, 1, 0,        0, 0, 0, 0, 0,        0, 1, 1, 1, 0,        0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序

2015-08-24 21:52:49 2583

原创 华为OJ(数独游戏-Sudoku)

描述问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。输入:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出:完整的9X9盘面数组知识点查找,搜索,排序运行时间限制10M内存限制

2015-08-23 21:50:56 3102

原创 华为OJ(按字节截取字符串)

描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。  接口说明原型:public String cutString(String s, int length)知识点字符串运

2015-08-23 14:44:23 1209

原创 华为OJ(线性插值)

描述信号测量的结果包括测量编号和测量值。存在信号测量结果丢弃及测量结果重复的情况。    1.测量编号不连续的情况,认为是测量结果丢弃。对应测量结果丢弃的情况,需要进行插值操作以更准确的评估信号。  采用简化的一阶插值方法,由丢失的测量结果两头的测量值算出两者中间的丢失值。  假设第M个测量结果的测量值为A,第N个测量结果的测量值为B。则需要进行(N-M-1)个测量结果的插值处理。进行

2015-08-23 12:57:14 1571

原创 华为OJ(从单向链表中删除指定值的节点)

描述输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表结点定义如下:struct ListNode{      int       m_nKey;      ListNode* m_pNext;};详细描述:本题为考察链表的插入和删除知识。链表的值不能重复构造过程,例如1 -> 23 -> 25 -> 14 -> 57 -> 2最后的链

2015-08-23 11:08:22 2753 1

原创 华为OJ(四则运算)

真是怕啥来啥啊,这种题很愁人的,哎,不过还好,刚做过表达式求值,两道题的区别只是增加了中括号和大括号,刚好练练手啦,玩玩没想到,真是太麻烦了,现在只是解决了无负数输入的情况,对示例输入有负数情况还需要修改代码。o(╯□╰)o,放着以后再解决吧。描述请实现如下接口    /* 功能:四则运算     * 输入:strExpression:字符串格式的算术表达式,如: 

2015-08-22 20:32:48 1710

原创 华为OJ(计算字符串的距离)

描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex:字符串A:abcdefg字符串B: abcdef通过增加或是删掉字符”g”的方式达到目的。

2015-08-22 19:58:39 2388

原创 华为OJ(表达式求值)

描述给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。     /*    功能: 对输入的字符串表达式进行求值计算,并输出结果。     输入:String inputString:表达式字符串                返

2015-08-22 15:21:36 2351 1

原创 华为OJ(高精度整数加法)

描述在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:9876543210 + 1234567890 = ?让字符串 num1="9876543210",字符串 num2

2015-08-22 12:53:16 1040

原创 华为OJ(MP3光标移动)

描述:MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。 现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,按Down键光标

2015-08-21 21:59:04 850

原创 华为OJ(查找两个字符串a,b中的最长公共子串)

描述查找两个字符串a,b中的最长公共子串。详细描述:查找两个字符串a,b中的最长公共子串。  接口设计及说明: /***************************************************************************** Description   : 查找两个字符串a,b中的最长公共子串 Input Param   : String str

2015-08-21 16:41:17 1244

原创 华为OJ(矩阵乘法计算量估计)

描述矩阵乘法的运算量与矩阵乘法的顺序强相关。例如:    A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵 计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。 编写程序计算不同的计算顺序需要进行的乘法次数    知识点字符串运行时间限制10M内

2015-08-20 22:28:55 1992

原创 华为OJ(成绩排序)

描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩      都按先录入排列在前的规则处理。   例示:   jack      70   peter     96   Tom       70   smith     67   从高到低  成绩               peter     96       jack      70     

2015-08-19 21:49:56 669

原创 华为OJ(计算日期到天数转换)

输入:年    月    日输出:天数例如:输入:201212 31  输出:366闰年、平年分开处理。不多说,直接上代码:#include#includeusing namespace std;int leap[12]={0,31,29,31,30,31,30,31,31,30,31,30};int nonleap[12]={0,31,28,31,30

2015-08-19 21:16:18 1025

原创 华为OJ(参数解析)

描述在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下: 参数1:命令字xcopy 参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。 解析规则: 1.参数分隔符为空格 2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” “

2015-08-19 20:06:03 844

原创 华为OJ(字符串运用-密码截取)

问题描述:Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Ca

2015-08-19 17:04:37 790

原创 华为OJ(扑克牌之24点游戏)

描述计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王:                    3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER本程序要求实现:输入4张牌,输出一个算式,算式的

2015-08-19 15:38:27 2317

原创 华为OJ(走方格)

描述请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。知识点字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归运行时间限制10M内存限制12

2015-08-19 11:48:57 929

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除