Works Application 万革始 2019校招面试题总结

xiaoxiao2025-11-28  25

2018

* DP,DFS题 leetcode

* 给出链表,给出k,将小于k的放置在前面,其余保持不变 124521,k=3  -> 122145

* 旋转链表:将列表向右旋转k个位置,其中k为非负数。 如,123456,k = 2  -> 561234

* 判断两个二叉树是否相等

* 判断一个二叉树是否为镜像二叉树

* 左右反转二叉树

* Z形层次遍历二叉树

* 字符串相加

* zigzag题,leetcode

* 求最长回文子序列,直接反过来求最长公共子序列就好了

* 区间合并

* LeetCode 15. 3Sum 三数之和

2017\2016

* 算两个没有公共字母的字符串的最大长度积

* 第一题是要查找数组中的最小元素

* Find All Anagrams in a String.(不清晰)

* Decode String Given an encoded string,return it's decoded string

* 字符串匹配

* 广度优先搜索

* 在一个字符串中找另一个的同形异构体 leetcode 438 

* leetcode 9

* leetcode153,400

* nth digit题, leetcode

* 回文?动态规划  dp?

* 翻转二叉树、镜像二叉树,求深度

* 二叉树的序列化和反序列化,leetcode

* 第一题是字符串转化为二叉树与二叉树转化为字符串的题(解决方案是BFS)。

例如:字符串数组 {1, 2, 3, null, null, null, null}  转化为对应的二叉树为

   1                      /    \                     2      3  null表示节点为空,按照二叉数从树根(第一层),第二层进行遍历。

   * 一个数字数组,将这些数字组合成一个最大的数 (定义一个排序函数,然后将排序的数字连接起来)。

 例如数组 {3, 30, 34, 9} 组合后的最大数是 934330.

* 输出从n个数中选取k个数的所有情况

* 链表 字符串 

* 给定一个数,判断这个数是否为2的次方,禁止使用循环

* 给定一个字符串,按照zigzag转换然后输出新的字符串

2015

* 2+5*8处理成其后缀表达式2 5 8 * +

* 后缀表达式计算结果的题

* 最长公共子串,最长公共子序列,括号匹配stack,多种括号的匹配

* 最长递增子序列;最长连续相同子序列

* 两个正整数M和N,M <= N,令0 < a < M,M <= b <= N,分别输出以a为分子b为分母的可约和不可约分数

#include <iostream> #include <vector> using namespace std;   int gcd(int m, int n) {     if (n == 0)     {         return m;     }     else     {         return gcd(n, m % n);     } } int main() {       int m, n;     vector<string> canReduce, cannotReduce;     while (cin >> m >> n)     {         if (m >= n)         {             break;         }         for (int i = 1; i < m; i++)         {             for (int j = m; j <= n; j++)             {                 char str[10];                       sprintf(str, "%d/%d", i, j);                 if (gcd(i, j) == 1)                 {                                        cannotReduce.push_back(str);                 }                 else                 {                     canReduce.push_back(str);                 }             }         }         for (int i = 0; i < canReduce.size(); i++)         {             cout << canReduce.at(i).c_str() << " ";         }         cout << endl;         for (int i = 0; i < cannotReduce.size(); i++)         {             cout << cannotReduce.at(i).c_str() << " ";         }         cout << endl;     }     return 0; }

2014

* 字符串全排列, 匹配

2013

* 全排序:给一个字符串“acb”,输出abc acb bac bca cab cba  /aab会怎么样

 

转载请注明原文地址: https://www.6miu.com/read-5040141.html

最新回复(0)