• 用友面试


    技术面:

    项目介绍

    写代码:

    1. 排序算法会哪些?写一个快排?

    2. 字符串中的每一个单词进行反转?

    3. 一个数组,求连续最大和?

    思路:

    根据sum判断,如果sum>0说明sum对于后面的求和有加成,所以加上sum;否则看sum当前的数哪一个大保留哪一个数;

    然后,比较sum和Max的大小,如果sum>Max就把sum赋值给Max;

    代码如下:

    //连续最大和
    #include<cstdio>
    #include<vector>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<cmath>
    using namespace std;
    const int maxn = 5005;
    
    int main()
    {
    	int n;
    	cin>>n;
    
    	int x;
    	vector<int> vec;
    	for(int i=0;i<n;i++){
    		cin>>x;
    		vec.push_back(x);
    	}
    
    	int sum=vec[0];
    	int Max=vec[0];//最好不要和max函数同名,否则后边调用max函数会出错
    
    	for(int i=1;i<n;i++){
    		if(sum>=0){
    			sum=sum+vec[i];
    		}
    		else{
    			sum=max(sum,vec[i]);
    		}
    		if(Max<sum){
    			Max=sum;
    		}
    	}
    
    	cout<<Max<<endl;
    
    	system("pause");
    	return 0;
    }
    

    4. 树的三种遍历,会写吗?说可以写出递归遍历的方法,最后没让写。

    综合面:

  • 相关阅读:
    webpack2.x抽取css
    window.print控制打印样式
    Vue2.x中的父子组件相互通信
    Vue2.x中的父组件数据传递至子组件
    NodeJs之fs的读写删移监
    设计
    mycat服务启动{管理模块启动过程}
    mycat初探
    zookeeper总结
    rocketmq总结
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/7541361.html
Copyright © 2020-2023  润新知