当前位置: 首页 > news >正文

专家库 网站 建设方案字牌标识公司网站网站编号 6019

专家库 网站 建设方案,字牌标识公司网站网站编号 6019,专业制作存单,做网站优化公司目录 一、选择题 二、编程题 1、倒置字符串 2、排序子序列 3、字符串中找出连续最长的数字串 4、数组中出现次数超过一半的数字 一、选择题 1、 题目解析#xff1a; 二维数组初始化的一般形式是#xff1a; 数据类型 数组名[常量表达式1][常量表达式2] {初始化数据}; 其… 目录 一、选择题 二、编程题 1、倒置字符串 2、排序子序列 3、字符串中找出连续最长的数字串 4、数组中出现次数超过一半的数字 一、选择题 1、 题目解析 二维数组初始化的一般形式是 数据类型 数组名[常量表达式1][常量表达式2] {初始化数据}; 其中常量表达式1和常量表达式2分别表示数组的行数和列数初始化数据用花括号括起来每一行的数据用逗号分隔每一行的末尾可以加上分号。如果初始化数据的个数少于数组的元素个数那么剩余的元素会被自动赋值为0。如果省略常量表达式1那么编译器会根据初始化数据的个数自动推断出数组的行数。如果省略常量表达式2那么编译器会报错。故答案为B。 2、 题目解析1使用return语句返回一个包含多个值的结构体或者数组 2使用指针或者引用作为函数的形参通过修改指针或者引用指向的变量来返回多个值 3使用静态变量或者全局变量来存储多个返回值然后在主调函数中访问它们。 其中第一种方法和第二种方法是比较常见和推荐的因为它们可以保证函数的封装性和可重用性也可以避免潜在的错误和冲突。第三种方法是不建议使用的因为它会破坏函数的封装性和可重用性也会增加程序的复杂度和维护成本。 3、 题目解析int *p[4].是一个指针数组..它表示一个含有4个元素的数组每个元素都是一个指向int类型的指针。由于“[]”的优先级高于“*”所以p先和“[]”结合再和“*”结合所以答案为C。 4、 题目解析long long类型在32位机器上占用8个字节也就是64位1little endian表示低位字节存放在低地址高位字节存放在高地址。当printf函数打印一个long long类型的变量时它会把这个变量的8个字节分成两个4字节的部分然后从低地址处开始读取第一个部分再读取第二个部分。每个部分都可以看作一个int类型的数。因此变量a的值为1在内存中的存储方式为01 00 00 00 00 00 00 00其中01是低位字节存放在低地址处。当printf函数打印a时它会从低地址处开始读取4个字节也就是01 00 00 00转换为十进制就是1。注意了此时a还有4个字节没有被读取打印b的时候变量b的值为2在内存中的存储方式为02 00 00 00 00 00 00 00其中02是低位字节存放在低地址处。当printf函数打印b时它会从低地址处开始读取4个字节也就是02 00 00 00但是因为前面的4个字节所以02变成了第五个字节所以打印出来是0。变量c的值为3在内存中的存储方式为03 00 00 00 00 00 00 00其中03是低位字节存放在低地址处。当printf函数打印c时它会从低地址处开始读取4个字节也就是03 00 00 00转换为十进制就是2。这是因为03是第9个字节而不是第一个字节所以它的权值为2。 二、编程题 1、倒置字符串 分析题目先将整个字符串逆置过来再遍历字符串找出每个单词对单词逆置。这里我们使用了stl算法中的reverse所以这里使用迭代器遍历string。 代码如下 #include iostream #includestring #includealgorithm using namespace std;int main() {string str;while (getline(cin, str)) {reverse(str.begin(), str.end()); //整体逆置auto start str.begin();while (start ! str.end()) {auto end start;while (*end ! *end ! \0) {end;}reverse(start, end);if (end ! str.end())start end 1;elsestart end;}cout str endl;}} 知识点begin()函数返回一个迭代器指向字符串的第一个元素。例如如果有一个字符串string str He11o;那么str.begin()就指向H’这个字符。end()函数返回一个迭代器指向字符串的末尾(最后一个字符的下一个位置)。例如如果有一个字符串string str Hello;那么str.end()就指向\0’这个空字符它是字符串的结束标志。这两个函数的范围是左闭右开的也就是说它们包含了字符串的第一个元素但不包含最后一个元素。 reverse 函数的范围是左闭右开的也就是说它包含了start指向的元素但不包含指向end的元素。这个范围可以用中括号表示为[startend)。例如如果有一个数组int arr [] (123,45};那么reverse (arr 1 arr 4);就会翻转数组索引[14)的区域也就是234这三个元素翻转后的数组变为{14325}。 2、排序子序列 题目分析非递减就是a[i]a[i1]递减就是a[i]a[i1]非递增就是a[i]a[i1]递增就是a[i]a[i1]。 首先我们需要定义一个flag变量用来记录当前的排序状态初始值为0。如果flag为0表示还没有确定排序状态如果flag为1表示当前是非递减排序如果flag为-1表示当前是非递增排序。然后我们遍历数组A比较相邻的两个元素的大小关系。如果A[i] A[i1]表示当前是升序如果A[i] A[i1]表示当前是降序如果A[i] A[i1]表示当前没有变化。接下来我们根据flag的值和当前的大小关系来判断是否需要分割子序列。如果flag为0表示还没有确定排序状态那么我们就根据当前的大小关系来更新flag的值并且不需要分割子序列。如果flag为1表示当前是非递减排序那么我们就判断当前是否是降序如果是降序那么我们就需要分割子序列并且把flag的值更新为-1如果不是降序那么我们就不需要分割子序列。如果flag为-1表示当前是非递增排序那么我们就判断当前是否是升序如果是升序那么我们就需要分割子序列并且把flag的值更新为1如果不是升序那么我们就不需要分割子序列。最后我们统计分割出来的子序列的个数就是最少可以把数组A分为几段排序子序列的答案代码如下 #include iostream #includevector using namespace std;int main() {int n 0;while (cin n) {vectorint list;int count 1;int flag 0;list.resize(n);for (int i 0; i n; i) {cin list[i];}for (int i 0; i n - 1; i) {if (flag 0) {if (list[i] list[i 1])continue;else if (list[i] list[i 1])flag 1;else flag -1;} else if (flag 1) {if (list[i] list[i 1]) {count;flag 0;}} else {if (list[i] list[i 1]){count;flag 0;}}}cout count endl;} } 3、字符串中找出连续最长的数字串 题目分析遍历字符串使用cur去记录连续的数字串如果遇到不是数字字符则表示一个连续的数字串结束了则将数字串跟之前的数字串比较如果更长则更新更长的数字串更新到res。 #include iostream #includestring #includealgorithmusing namespace std;int main() {string str, res, cur;cinstr;for (int i 0; i str.length()1; i) {if (str[i] 0 str[i] 9) {cur str[i];} else {// 找出更长的字符串则更新字符串if (res.size() cur.size())res cur;elsecur.clear();}}coutres;} 4、数组中出现次数超过一半的数字 题目分析 思路一数组排序后如果符合条件的数存在则一定是数组中间那个数。这种方法虽然容易理解但由于涉及到快排sort其时间复杂度为O(NlogN)并非最优 lass Solution {public:int MoreThanHalfNum_Solution(vectorint numbers) {sort(numbers.begin(), numbers.end());int middle numbers[numbers.size() / 2];int count 0; // 出现次数for (int i 0; i numbers.size(); i) {if (numbers[i] middle) count;}return (count numbers.size() / 2) ? middle : 0;} }; 思路二就是出现次数超过数组长度一半的那个数字如果两个数不相等就消去这两个数最坏情况下每次消去一个众数和一个非众数那么如果存在众数最后留下的数肯定是众数。 class Solution {public:int MoreThanHalfNum_Solution(vectorint numbers) {int times1;int resultnumbers[0];for(int i1;inumbers.size();i){if(numbers[i]!result){if(times0){resultnumbers[i];}else{times--;} }else {times;resultnumbers[i];}} return result;} };
http://www.hkea.cn/news/14389453/

相关文章:

  • 网站备案信息注销原因通州商城网站建设
  • 登录注册网站怎么做潍坊可以做网站的公司
  • 宠物网站建设目标合肥网络运营公司
  • 做旅游网站有前途吗国外产品代理网
  • 网站建设定制公众号小程序网站常用的js效果
  • 海口网站建设方案优化网站备案价格
  • 肃州区城乡和住房建设局网站友链交换网站源码
  • 中国做的手机系统下载网站二次开发wordpress
  • 在线服装设计网站wordpress屏蔽谷歌蜘蛛
  • 网站建设注意什么建设银行网站点不了
  • 仙桃网站建设广告设计公司需要什么资质和证书
  • 网站开发结构图河北网络建站
  • 外包做的网站 需要要源代码吗可以做闪图的网站
  • 光谷做网站推广费用公众号添加wordpress
  • 有了网站源码 怎么建设网站wordpress+引用+样式
  • 网站建设买了服务器后怎么做网络营销优化外包
  • 一个很好的个人网站开发公司名称大全两字霸气
  • 布吉网站建设技术托管优化的定义
  • 大连城市建设集团网站seo推广优化平台
  • 专业网站设计公司临沂百度联系方式
  • 国外网站 dns东莞南城做网站推广的公司
  • 网站建设 验收意见网络用户提要求找人帮忙做的网站
  • 著名网站设计师网站建设的七大优缺点
  • 做酒店网站设计浙江建设工程信息网站
  • 珠海企业网站制作费用城市门户网站建设
  • 范县网站建设电话wordpress js文件
  • 网站地图后台可以做吗wordpress 移动 seo
  • 桂林设计单位资质升级网站企业网站托管趋势
  • 花型图案设计网站辽宁朝阳哪家做网站好
  • 长沙网站微信开发安阳住房与城乡建设局官方网站