【旷世】 算法面经

两面流程,一个下午完成

2021-10-25

一面

项目

代码

数组排序的最少操作次数

完整题目:https://blog.csdn.net/yg_hou/article/details/85177414

#include "../common.h"

void swap(int& a, int& b){
    int tmp = a;
    a = b;
    b = tmp;
}

int test(vector<int>& nums){
    int count = 0;
    for(int i = 0; i<nums.size(); i++){
        if(nums[i]==i+1){
            continue;
        }
        while(nums[i]!=i+1){
            int tmp = nums[i];
            int tmp2 = nums[tmp-1];
            nums[tmp-1] = tmp;
            nums[i] = tmp2;
            count++;
        }
    }

    for_each(nums.begin(), nums.end(), [](int a){cout << a << " ";});
    cout << endl;
    return count;
}

int main(){
    // vector<int> nums = {4, 3, 2, 1};
    vector<int> nums = {1, 5, 4, 3, 2};
    auto res = test(nums);
    cout << "res: " << res << endl;
    return 0;
}

二面

项目

代码

最长公共子串长度,LeetCode原题

已经躺平一段时间了,突然面试,3道题一道没对。。。

#旷视##面试题目#
全部评论

相关推荐

03-31 18:02
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客企业服务