![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件笔试题
合工大机器人实验室
不积跬步,无以至千里。
展开
-
编程题:根据前序遍历和中序遍历,重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */原创 2020-09-07 15:37:13 · 257 阅读 · 0 评论 -
常用排序算法C++实现以及复杂度
1.冒泡排序int boblesort(int a[], int len){ for(int i=len-1;i>0;i--) { int flag = 1; int index = 0; for (int j = 0; j < i; j++) { if (a[j] > a[j + 1]) { cout<<"**"<<endl; int temp = a[j]; a[j] = a[j + 1];原创 2020-09-05 14:32:24 · 425 阅读 · 0 评论 -
2021.8.23杭州安恒机试——斐波那契数的迭代与判断
斐波那契数的迭代与判断。#include <iostream>using namespace std;int fab(int n){ if(n==0) return 0; if (n == 1) return 1; if (n>=2) return fab(n - 1) + fab(n - 2);}int isfab(int m){ int result = 0; if (m == 0) return 1; for (int i = 0;原创 2020-08-23 10:56:08 · 343 阅读 · 0 评论 -
字符数组转化成HEX(16进制)字符串
将数组转成16进制hex字符串数组(版本二比版本一效率高-未测试)更多内容参考以下网址。https://www.chenxublog.com/2020/03/08/c-fast-convert-hex-char-array.html#include <stdio.h>#include <string>#include <iostream>using namespace std;const char hex_table[] = { '0','1','2'原创 2020-07-11 19:31:05 · 1900 阅读 · 0 评论 -
windows和linux下各类型字节长度
原创 2020-07-10 14:19:47 · 964 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解法方法(1)对于二进制各个位数进行辨别。首先需要判断n是不是负数,当n为负数的时候,直接用while循环判断会导致死循环,因为负数向左移位的话最高位补1。针对这种情况,要不就是对正数和负数的操作应该分开处理,要不就是找到一个对正数和负数都可以处理的方法。可以使用判别数进行移位。int Numbe...原创 2020-02-23 13:14:57 · 690 阅读 · 0 评论 -
已知二叉树的前序遍历和中序遍历,重建出该二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回/** * Definition for binary tree * struct TreeNode { * int val; * Tr...原创 2020-02-15 12:31:28 · 430 阅读 · 0 评论 -
科大讯飞机试编程题
题目:输入一串英文单词,不同单词之间使用一个逗号,或者多个隔开,统计该串中单词首尾字母相同的单词,不区分大小写,要求时间复杂度为O(n)。输入描述:输入为一行单词,例如:Students,are,studying,Asia,history输出描述:输出为一个数,例如:2个人所写,代码如下:#include <ctype.h>#include ...原创 2019-09-09 20:45:40 · 877 阅读 · 0 评论 -
递归算法求最大的子数组的和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组和18以及起始的下标2,6。分治策略,运行时间是nlogn使用分治技术意味着我们要将子数组划分为两个规模尽量相等的...原创 2019-09-18 11:18:24 · 409 阅读 · 0 评论