当前位置: 首页 > 编程日记 > 正文

基于visual Studio2013解决面试题之0403串联字符串




题目



解决代码及点评

/*有 n个长为 m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以联接,问这n个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。 */#include <iostream>
using namespace std;int maxlengh = 0;void go(char *a[20], char **a2, int n)
{// 遍历13个字符串for (int i = 0; i < 13; i++){int flag = 0;// 判断a[i]是不是在a2里,如果是flag = 1for (int j = 0; j < n; j++){if (a[i] == a2[j]){flag = 1;}}if (flag == 1) // 如果是在a2里,那么就看下一个字符串{continue;}if (n == 0) // n == 0 表示a2里还没有字符串{a2[n] = a[i]; // 既然没有,就直接将a[i]保存吧n++; // 保存完a2里就多了一个元素,要记录if (n > maxlengh) // 如果n>maxlengh,那么重新记录max{maxlengh = n;}go(a, a2, n); // 递归调用本函数n--;}// 如果n不是0,那么判断a[i]是不是符合条件else if (a2[n - 1][1] == a[i][0] && a2[n - 1][2] == a[i][1] && a2[n - 1][3] == a[i][2]){a2[n] = a[i]; // 如果符合条件,就把它记录到a2n++;// 一样的重新记录maxlengthif (n > maxlengh){maxlengh = n;}// 递归继续go(a, a2, n);n--;}}
}/* 测试主函数 */
int main()
{char *a[20] = { "abcd", "bcde","cdea", "deab", "eaba","abab", "deac", "cdei","bcdf", "cdfi", "dfic","cdfk", "bcdg" };char *a2[20];go(a, a2, 0);cout << maxlengh;system("pause");return 0;
}


代码下载及其运行

代码下载地址:http://download.csdn.net/detail/yincheng01/6704519

解压密码:c.itcast.cn


下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:

1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”


2)在下拉框中选择相应项目,项目名和博客编号一致

3)点击“本地Windows调试器”运行


程序运行结果









转载于:https://www.cnblogs.com/new0801/p/6177367.html

相关文章:

MIT开放式课程“自然语言处理”介绍

MIT开放式课程“自然语言处理”介绍 发表于 2009年01月2号 由 52nlp从订阅的Google快讯上知道这个“麻省理工学院“开放式课程网页” | 电机工程与计算机科学 | 6.881 2004秋季课程&#xff1a;自然语言处理 | 课堂讲稿”网站&#xff0c;看介绍是MIT开放课程的中文翻译计划&am…

怎么将对象里面部分的属性放到一个空的对象里面去

var obj{name:jack,age:18,sex:male}var {name,age}objvar obj2{name,age}console.log(obj2) //{name: "jack", age: 18} 这是es6的用法 还有其他的3种方法,关于对象复制的 es6 var obj {name: jack,age: 18}var data Object.assign(obj)console.log(data) //{nam…

C++多线程:thread类创建线程的多种方式

文章目录描述函数成员简介总结描述 头文件 <thread> 声明方式&#xff1a;std::thread <obj> 简介 线程在构造关联的线程对象时立即开始执行&#xff0c;从提供给作为构造函数参数的顶层函数开始。如果顶层函数抛出异常&#xff0c;则调用 std::terminate。正如我…

C C++的编译过程详解

C/C编译过程C/C编译过程主要分为4个过程1) 编译预处理2) 编译、优化阶段3) 汇编过程4) 链接程序一、编译预处理&#xff08;1&#xff09;宏定义指令&#xff0c;如#define Name TokenString&#xff0c;#undef等。 对于前一个伪指令&#xff0c;预编译所要做的是将程序中的所有…

python queue 调试_学Python不是盲目的,是有做过功课认真去了解的

有多少伙伴是因为一句‘人生苦短&#xff0c;我用Python’萌生想法学Python的&#xff01;我跟大家更新过很多Python学习教程普及过多次的Python相关知识&#xff0c;不过大家还是还得计划一下Python学习路线&#xff01;Python入门前&#xff0c;你必须得知道这些&#xff0c;…

嘿嘿 刚刚进来 记录下

大家好&#xff0c;小弟刚刚进来&#xff0c;记录一下&#xff0c;发现这个网站真是太好了&#xff01;&#xff01;转载于:https://blog.51cto.com/wikowin/1112039

Oracle数据库查看表空间是否为自增的

表空间是有数据文件组成的&#xff0c;所以看表空间是否自增即看数据文件&#xff0c;如下查自增的表空间&#xff1a; select tablespace_name,file_name,autoextensible from dba_data_files where autoextensibleYES; autoextensible: YES/NO 即表示是否自增。 转载于:https…

C++多线程:异步操作std::async和std::promise

文章目录std::async简介使用案例std::promise简介成员函数总结之前的文章中提到了C多线程中的异步操作机制 C 多线程&#xff1a;future 异步访问类&#xff08;线程之间安全便捷的数据共享)&#xff0c;接下来分享关于异步操作中 async和 promise的相关使用总结。std::async …

5如何将表格的一行数据清空_微信公众号推文中如何自定义添加表格?

微信公众号发的图文消息里经常需要有表格&#xff0c;因为表格进行数据展现更直观明了&#xff0c;所以接下来就给大家分享一下如何自定义添加表格。打开小蚂蚁编辑器&#xff0c;在编辑区点击鼠标右键&#xff0c;在出现的选项中选择【插入表格】。系统会默认添加一个5行5列的…

基于visual Studio2013解决面试题之0901奇偶站队

&#xfeff;&#xfeff;&#xfeff;题目解决代码及点评/*给定一个存放整数的数组&#xff0c;重新排列数组使得数组左边为奇数&#xff0c;右边为偶数 解决方法&#xff1a;两边同时遍历&#xff0c;如果遇到左边偶数或者右边基数&#xff0c;则交换 */#include <iostrea…

联想架构调整:智能手机业务很重要

1月5日&#xff0c;杨元庆宣布联想集团进行组织架构调整。将联想旗下业务拆分为两个新的端到端业务集团—— Lenovo 业务集团和 Think 业务集团。杨元庆在内部邮件如是说:“Lenovo业务集团(Lenovo Business Group&#xff0c;简称LBG)&#xff0c;由刘军领军&#xff0c;致力于…

activiti5/6 系列之--BpmnModel使用

BpmnModel对象&#xff0c;是activiti动态部署中很重要的一个对象&#xff0c;如果BpmnModel对象不能深入的理解&#xff0c;那可能如果自己需要开发一套流程设计器&#xff0c;使用bpmn-js使用前端或者C/S展现流程流转而不是使用工作流引擎&#xff0c;就显得力不从心。例如&a…

C++多线程:package_task异步调用任何目标执行操作

文章目录描述函数成员及使用总结我们上一篇描述关于C多线程中的异步操作相关库( async和 promise)&#xff0c;本节将分享c标准库中最后一个多线程异步操作库 package_task的学习笔记。描述 头文件 <future> 声明方式: template< class R, class ...Args > class …

ICE BOX 配置,使用----第一篇

一 理论部分 (1) 为什么要使用icebox? icebox server代替了通常的server. icebox是为了方便集中管理多个ice服务而建立的。 它通过使用icebox服务器&#xff0c;把ice服务注册进去&#xff0c;从而建立联系。 所以它除了建立传统的ice服务器&#xff0c;ice客户端&#xff0c;…

测试打桩_DNF:CEO实测旭旭宝宝红眼,打桩高达2494E,伤害超越狂人剑魂

对于红眼这个职业&#xff0c;旭旭宝宝倾注了太多的心血&#xff0c;耗资几千万打造而成。虽然&#xff0c;作为固伤职业&#xff0c;在伤害方面&#xff0c;不及剑魂和剑帝这类百分比&#xff0c;但因人数颇多&#xff0c;从而被广泛关注。而今&#xff0c;旭旭宝宝的红眼&…

122112_1452_Word1

122112_1452_Word1转载于:https://www.cnblogs.com/joshuali/archive/2013/01/11/4339303.html

C++ 多线程:时间控制

C多线程库中的各个子库都有各自的时间控制方式&#xff0c;依此来进行多线程程序运行中cpu资源的精确控制。 使用std::chrono时间库可以提供微妙、毫秒、秒及以上的时间取用,并且能够获取当前系统时间。 如下代码 #include <iostream> #include <fstream> #inclu…

array用法 numpy_NumPy总结(基础用法)

numpy可以说是Python运用于人工智能和科学计算的一个重要基础&#xff0c;近段时间恰好学习了numpy&#xff0c;pandas&#xff0c;sklearn等一些Python机器学习和科学计算库&#xff0c;因此在此总结一下常用的用法。引入numpy库的方式&#xff1a;import numpy as np1、numpy…

python 字符串 转 dict

比直接eval更好的方法>>>import ast >>>ast.literal_eval("{muffin : lolz, foo : kitty}") {muffin:lolz,foo:kitty} 用 json 遇到问题&#xff1a; >>> import json json.loads({"x": 1,"y":2}) {uy: 2, ux: 1…

rhino-java中调用javascript

2019独角兽企业重金招聘Python工程师标准>>> 在有些情况下需要在java里面执行javascript&#xff0c;这时rhino就可以帮忙了。mozilla的一个开源产品。 官网https://developer.mozilla.org/en-US/docs/Rhino 之前的一篇博客http://my.oschina.net/yybear/blog/101…

HDU 2566 统计硬币

统计硬币 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9633 Accepted Submission(s): 6505 Problem Description 假设一堆由1分、2分、5分组成的n个硬币总面值为m分&#xff0c;求一共有多少种可能的组合方式&…

linux C 多线程编程

文章目录多线程的一些小知识&#xff1a;1创建线程 pthread_create2线程挂起 pthread_join3线程终止 pthread_exit4线程分离 pthread_detach5线程取消 pthread_cancel线程同步 pthread_mutex_t互斥变量我们在写linux的服务的时候&#xff0c;经常会用到linux的多线程技术以提高…

JavaSE replaceAll 方法

private String srcStr "index\\.php\\?action";//要替换的原字符串 private String destStr "index.php?<{\\$LANGUAGE_TYPE}>action";//目的字符串 注意.和?都要转义&#xff0c;因此需要在前面添加两个反斜杠。 关于第二个参数&#xff0c;$…

elementui datetimepicker 移动端_在 Gitee 收获 2.5K Star,前后端分离的 RuoYi 它来了

作为 2019 年 Gitee 上最受欢迎的开源项目&#xff0c;权限管理系统 RuoYi 已经在 Gitee 上获得了超过 11K 的 Star。 这次作者若依推出了基于 SpringBoot Vue Element UI 的前后端分离版本的 RuoYi-Vue&#xff0c;方便有前后端分离开发需求的同学使用。项目名称&#xff1a…

用MyEclipse开发Spring入门

1 新建一个项目 File----->New ----->Project 在出现的对话框中选择 MyEclipse 下的 Web Project&#xff0c;在Project Name 输入mySpring1&#xff0c;其他的选项默认&#xff0c;再点Finish完成&#xff1b; 2 加入Spring 包 在myspring1 项目上点右键&#xff0c;选…

带你轻而易举的学习python——八皇后问题

首先我们来看一下这个著名的八皇后问题 八皇后问题&#xff1a;在88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法。 在这个问题提出之后人们又将它扩展到了nn格的棋盘摆…

ubuntu18.04.1内核升级至5.0.0-25版本

ubuntu18.04操作系统版本先已支持在线的内核版本升级&#xff0c;到目前为止18.04发布版已经拥有三个小版本了1,2,3。 其中18.04.01和18.04.03版本&#xff0c;安装好之后默认的是4.15内核版本&#xff0c;但是默认支持在线安装4.18和5.0.0内核版本。 具体升级步骤如下&#x…

输出n行杨辉三角数

1 /*2 输出n行杨辉三角数 3 输入n&#xff0c;n是1&#xff5e;100之间的整数 4 */5 #include<stdio.h>6 int main()7 {8 int a[100],b[100];9 int i,j; 10 int n; 11 scanf("%d",&n); 12 if(n1) 13 { 14 printf("1\…

怎么扫描_打印机上扫描仪怎么用 打印机上扫描仪使用及添加方法

打印机是生活中常用的打印设备&#xff0c;主要用于连接 电脑 打印电脑上的文件&#xff0c;方便办公。对于第一次使用打印机的朋友可能还不是很熟悉如何使用&#xff0c;比如打印机上 扫描仪 怎么用&#xff1f;怎么添加打印机扫描仪&#xff1f;下面小编就来为大家介绍下吧。…

java 调用webservice的各种方法总结

http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html 现在webservice加xml技术已经逐渐成熟&#xff0c;但要真正要用起来还需时日!! 由于毕业设计缘故&#xff0c;我看了很多关于webservice方面的知识&#xff0c;今天和大家一起来研究研究webservice的…