• 中软面试 算法


    中软面试第二轮,被推到微软面试,这个题目:
        /* 输入:两个有序数组  
         * 输入:合并后的排序数组 
         */ 
    当时一片空白了。我写了一个,人家说效率低下,事后写的方法,以防忘记
     
            // 将小的值加到result,并将该数组下标+1,  
            // 如果相等,则将其任意一个加到result,两数组下标均+1  
            // 如果下标超出该数组长度,则退出循环  
     
    static List<int> MergeArray(int[] a,int[] b)
            {
                
    int idxa = 0;
                
    int idxb = 0;
                List
    <int> result = new List<int>();

                
    while(true)
                {
                    
    if(idxa >a.Length -1 || idxb > b.Length -1)
                    {
                        
    break;
                    }
                    
    if(a[idxa] < b[idxb])
                    {
                        result.Add(a[idxa]);
                        idxa
    ++;
                    }
                    
    else if(a[idxa] > b[idxb])
                    {
                        result.Add(b[idxb]);
                        idxb
    ++;
                    }
                    
    else
                    {
                        result.Add(a[idxa]);
                        idxa
    ++;
                        idxb
    ++;
                    }
                }

                
    if(idxa >= a.Length -1)
                {
                    
    for (int i = idxa; i < a.Length - 1; i++)
                    {
                        result.Add(a[i]);
                    }
                }
                
    if(idxb >= b.Length - 1)
                {
                    
    for (int i = idxb; i < b.Length; i++)
                    {
                        result.Add(b[i]);
                    }
                }

                
    return result;
            }
  • 相关阅读:
    接口测试
    Appium应用
    adb常用指令与APPium环境搭建
    移动端专项测试
    tomcat修改端口号
    Linux之Redis安装
    FTL常用标签及语法
    .ftl文件介绍
    maven之clean、install命令
    tomcat环境变量详细配置步骤
  • 原文地址:https://www.cnblogs.com/kakaliush/p/2059084.html
Copyright © 2020-2023  润新知