自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串排序

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

2018-11-21 21:11:12 498

原创 给定一个无序整型数组,找出数组中未出现的最小正整数

题意理解,不是找到数组中最小的数减去1。而是假如把该数组排好序,在此有序数组中缺少的最小整数就是结果。题意的限定是正整数,所以可以以0为边界,只考虑0以上的数,因此结果要么在1~n之间,要么是n+1。我们的方法是以数组的下标为标准来比较,假如所有的i==ves[i]除了有一个j!=ves[j],那么j就是要找的数。除了0处的值之外,其他的值都满足i==ves[i],则结果与0处的值有关系。再假设一...

2018-11-13 10:54:27 4288

原创 中国地图经纬度数据

因为项目需要,得找到中国地图所覆盖区域各个点的经纬度数据,包含边界和地图内部区域。经度和纬度的值间隔为1度,最终得到的数据产生的效果如下图所示,我的做法先通过地图软件找到中国地图边界各个城市的经纬度,当然这是个很粗糙的数据。然后通过下载可以画中国区域边界所要用到的.shp文件,这个相对来说是科学且精确的。然后按照边界文件数据,对自己手动找到的边界经纬度进行修改,这里会用到C++编写一定的代...

2018-11-07 21:53:17 22670 5

原创 数据分类处理

题目描述信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。  采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出。输入描述:一组输入整数序列I和一组规则整数序列R,I和R序列的第一个整数为序列的个数(个数不包含第一个整数);整数范围为0~0xFFFFFFFF,序列个数不限输出描述:从R依次中取...

2018-11-07 20:22:51 1494

原创 字符串相关面试题(C++描述)

1  不使用C/C++库函数,编程实现函数strcmp的功能int myStrcmp(const char* str1, const char* str2){ while(*str1 != '\0'&&*str2 != '\0'&&*str1 == *str2){ ++str1; ++str2; } if (*str1== '\0'&&...

2018-10-22 10:48:36 495

原创 丢失的三个数

现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为103368435,除以七的余数为2。输入描述:输入数据为一行,包含9997个数字,空格隔开。...

2018-10-11 22:21:42 261

原创 简单密码

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

2018-10-11 21:44:42 727

原创 密码验证合格程序

题目描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG代码如下,此题唯一的难点是如何有效判断四种符号是否出现3种及3种以上,代码如下,#include<iostrea...

2018-10-11 19:54:04 1185

原创 简单错误记录(C++)

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

2018-10-09 00:36:52 565

原创 坐标移动

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

2018-10-05 13:04:25 607 1

原创 购物单(C++)

题目描述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件...

2018-10-04 17:43:26 2111 1

原创 地牢逃脱

给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上。地牢的出口可能在任意某个可以通行的位置上。牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢。 在答题之前需要明确本题的题意,...

2018-09-30 21:07:13 370

原创 合唱团

首先注意到题目已经说明是动态规划。所以找状态转移方程,方程如下       因为能力值有负值,可能会出现一个很小的值(负值)乘以当前值(负值)则会出现较大的值,所以考虑到这种情况,有两个状态转移方程。i可以理解为状态,j为第j个数(从0开始)。注意到两个值的间隔在1-d之间,所以在考虑最值的时候要把在这个区间的值都遍历一遍。每算完一个状态,我们都要比较一下数目达到要求的那个状态的最值,这样...

2018-09-29 15:23:07 264

转载 sprintf、strcpy、strncpy及 memcpy 函数,请问这些函数功能有什么区别?

链接:https://www.nowcoder.com/questionTerminal/52e74d99daf64139b0100fd48a5d2b26来源:牛客网 sprintf:把格式化字符串写入某个字符串,对写入buffer的字符数没有限制,存在溢出可能;strcpy:把src开始以\0结尾的字符串复制到以dest为开始的地址空间,dest可能空间不够存放;strncpy:...

2018-09-28 13:53:46 741

原创 合并两个排序的字符串

头节点的处理是关键,有两种方案,第一要么对头节点先进行处理,得到一个值。第二种就是建立一个辅助头节点,这样就不用单独对头节点进行处理,代码会简洁,只要返回辅助节点的下一个节点就ok了。代码如下,class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListN...

2018-09-28 10:55:34 1110

原创 机器人的运动范围

还是递归的思想,牛客网上剑指offer板块最后两题做法一模一样。终于刷完了。。。class Solution {public: int movingCount(int threshold, int rows, int cols) { vector<int> vtemp(cols,0); vector<vector<in...

2018-09-26 20:22:45 419

原创 矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个...

2018-09-26 19:47:08 278

原创 二叉树的第k个节点

方法一,中序遍历,所有节点都放入数组,返回第k个。class Solution {public: TreeNode* KthNode(TreeNode* pRoot, int k) { vector<TreeNode*> re; inorder(pRoot,re); if(k<1||k>re.size(...

2018-09-26 14:46:56 1044

原创 序列化和反序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树。基本思想很简单,序列化就是用某一种遍历方法将二叉树元素存储在字符串数组中,当然要一个个元素分离,分得清谁是谁。反序列化就是把存储在字符串数组中的元素进行重构,使之成为二叉树。我们不妨选择前序遍历的思想进行搜索与重构。本题的关键是如何对元素进行存储,可以放在char**或者vector<string>或者字符串流o/istr...

2018-09-26 14:06:51 364

原创 按之字形顺序打印二叉树

二叉树层次遍历的变形,记录遍历的层号,偶数层要进行翻转。代码如下class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int> >re; if(pRoot==NULL){ ...

2018-09-24 23:31:34 197

原创 删除链表中重复的节点

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 方法一,先对重复节点做标记,然后将有相同值的节点都删除。代码如下:class Solution {public: ListNode* deleteDupl...

2018-09-24 11:45:01 212

原创 表示数值的字符串(C++描述)

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。方法一,采用正则表达式,题目有缺陷,-.123这种类型是算正

2018-09-23 19:26:29 1223

原创 LeetCode 10 正则表达式匹配

基本思想,逐个字符匹配,查看对应位置的字符是否相等,或者删除前一个字符后查看是否相等,或者重复前面字符(指的是上一个位置的字符,而不是所有前面的字符中的任意一个)若干次后查看是否相等。为了方便分析,首先我们要对两个字符串的类型进行分类,字符串S是指只包含字母的普通字符串,字符串P指的是包含‘.’和‘*’的模式字符串。这两个字符串出现的情形可以分为以下四种。1)两个字符串都为空,那么不用匹配了,...

2018-09-22 18:55:05 223

原创 数组中的逆序对

这道题思路很简单,根据冒泡或则归并排序来计数有多少对逆数对(即数组小下标对应的值比大下标对应的值要大),but,我提交的结果总是50%。网上找了一下答案,没有错啊,和网友的一样啊。于是又回过头来看题目,要求对1000000007取余,我只在最后的结果处取了余。但是这是不够的,为什么没人提这一点呢。。。。。在内部的单次计数中也要取余啊,不能把超过1000000007的数相加啊。改完之后终于AC了。代...

2018-09-18 21:17:39 242

原创 LeetCode233,数字1的个数

规律如下:如果第 i 位(自右向左,从1开始标号)上的数字是0,则第 i 位可能出现 1 的次数由更高位决定(若没有高位,则高位为0),等于更高位数乘以当前位数的权重(10i-1)如果第 i 位上的数字为 1,则第 i 位上出现 1 的次数不仅受更高位影响,还受低位影响(若没有低位,则低位为0),等于更高位数乘以当前位数的权重 (10i-1) + (低位数 + 1)如果第 i 位上的数...

2018-09-13 21:10:50 1030

原创 把数组排成最小的数

将数字转换成字符串,对字符串从地位到高位按照位数的大小排序,最后的排序结果是保证高位(字符串左边)是非递减的,在高位相等的基础上,下一个次高位也是非递减的,......。这样就能保证结果最小。法一、自己编写排序程序class Solution {public: string PrintMinNumber(vector<int> numbers) { ...

2018-09-13 20:55:42 176

原创 Keep2019届校招算法笔试题

1. 输入一个字符串和整数k,每3k个子串,将子串前面的k个字符反转,后面2*k个子串保持原样。如果剩余的子串长度不足3k,则如果长度小于k,此末尾子串全部反转,如果剩余的子串长度大于k且小于3k,则把前面的k个子串翻转,后面的末尾字符都保持原样。代码如下:#include<iostream>#include<string>#include<algori...

2018-09-09 23:21:28 862

原创 LeetCode93 复原IP地址

首先需要知道IP地址的特性,总共有四段,每段的取值都在[0,255]之间,四段之间用3个‘.’隔开。目标就是如何放置这3个分隔符,使得IP地址是合法的,然后把合法的IP地址记录下来。方法一 暴力解法。四段的长度都有取1~3的可能性,遍历所有的情况,记录合法IP地址。当然类似000,001,00,010这种肯定是不合法的段,将字符串段转换成整数,又把整数转换成字符串,就可以把间接的把这些长度上有...

2018-09-09 18:08:50 1215

原创 C++中的log函数

 引入#include<cmath>以e为底:log(exp(n))以10为底:log10(n)以m为底:log(n)/log(m)

2018-09-07 15:48:56 9413

原创 顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.代码如下:class Solution {public: vector<int> pr...

2018-09-05 17:08:51 161

原创 树的子结构

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)代码如下:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/c...

2018-09-05 15:42:18 148

原创 反转链表

输入一个链表,反转链表后,输出新链表的表头。代码如下:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* p...

2018-09-02 19:08:34 179

原创 链表中倒数第k个节点

先找到第k个节点,假设为p。然后让q节点从头节点开始,p节点也同步next,当p节点到达末尾时,q节点也就到达了第n-k个节点,即倒数第k个节点,省去了求节点总数n的步骤,代码如下/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/c...

2018-09-02 17:39:54 183

原创 LeetCode 50 计算pow(x,n),给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

主要思想是递归,代码如下;class Solution {public: double Power(double base, int exponent) { if(exponent<0){ return 1/Power(base,-exponent); }else if(exponent==0){ ...

2018-09-02 15:44:55 313

原创 计算二进制中1的个数

解题的思路是循环统计二进制数中最后一个1,每次统计完后,把这个1从原数字中去掉,直至统计完最后一个1,原数字变为0。通过将原数字与原数字减1的差做逻辑与可以把二进制数中的最后一个替换为0。代码如下:class Solution {public: int NumberOf1(int n) { int count=0; for(;n!=0;n...

2018-09-02 15:21:43 266

原创 质数因子

功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格 代码如下:#include<iostream>using namespace std;bool isprime(int n){ for(int i=2;i<n;i++){ if(n%i==0){ ...

2018-09-01 16:28:05 197

转载 sklearn.cross_validation 0.18版本废弃警告及解决方法,cross_validation会出现横线

转自: https://blog.youkuaiyun.com/cheneyshark/article/details/78640887 机器环境:scikit-learn==0.19.1Python 2.7.13train_test_split基本...

2018-08-30 15:36:50 5854

原创 重建二叉树(C++描述)

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。基本的思想是遍历前序遍历序列,对于前序遍历序列中的元素,在中序遍历序列中找到其位置,则该位置将中序序列一分为二,即左子树和右子树,而且根据此位置可以...

2018-08-29 14:14:12 894

原创 LeetCode52 N皇后Ⅱ

本题的思想和 N皇后 https://blog.youkuaiyun.com/Jeff_Winger/article/details/82024447完全一致。代码如下:class Solution {public: int totalNQueens(int n) { int* posQ=new int [n]; //posOfQueen[i]表示i行皇后的位置(所在的列) ...

2018-08-24 21:11:21 223

原创 LeetCode51 N皇后

首先我们需要知道该怎么样放置皇后,观察题目可以看到,在每一行或者说每一列都一个皇后,而且如果在某个位置有皇后,那么她所在的行和列,以及对角线上的位置都不能有皇后。因此我们的思想借助回溯和递归的思想,首先在第一行的某个位置放置一个皇后,然后开始在下一行的找是否有合适位置(递归),如果到达了最后一行的位置,则说明已经找到了一种放置方法,将此方法记录。找到之后,又回溯,把所有位置恢复为原来的状态,从...

2018-08-24 21:09:08 202

空空如也

空空如也

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

TA关注的人

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