`
HUYIZIZHEN
  • 浏览: 115817 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于淘宝2011笔试题的解答!!!

 
阅读更多
import java.util.List;
import java.util.ArrayList;


public class IntArray
    {
        //这是整型数组类(IntArray)的数据成员 ,即一个整型数组
        public int[] data;

        //此类的构造函数法
        public IntArray(int[] a)
        {
            data = a;
        }

        //打印数组,每十个一行
        public void printArray()
        {
            int i = 0;
            for (int j: data)
            {
                System.out.println(" " + j);
                i++;
                if (i % 10 == 0)
                	System.out.println();
            }
        }

         
        //给定一个整数数组,从中切出一个连续片段,保证其元素和最大
        public ArraySession sliceMax()
        {
            int dataLength = this.data.length;//缓存数组长度

            //判断数组内是否有正整数,如果没有返回最大的非正数
            int flag = 0;
            for (int i = 0; i < dataLength; ++i)
            {
                if (data[i] > 0)
                    break;
                ++flag;
            }

            if (flag == dataLength)
            {
                int max1 = data[0], index = 0;

                for (int i = 0; i < dataLength; ++i)
                {
                    if (data[i] >= max1)
                    {
                        max1 = data[i];
                        index = i;
                    }
                }
                return new ArraySession(index, index, max1);//全为非正数时,一定从这一句返回。
            }

            //下面是对数组内有正整数的情况考虑的
            List<ArraySession> node = new ArrayList<ArraySession>();

            for (int start = 0; start < dataLength; start++)
            {
                if (data[start] <= 0 || start != 0 && data[start - 1] > 0)
                    continue;//起始点是非正数的或者前一个数是正数的,肯定不是最大序列,继续下一轮
                for (int end = start; end < dataLength; end++)
                {
//System.out.println((data[end] <= 0 || end < dataLength -1 && data[end + 1] > 0));
                    if (data[end] <= 0 || end < dataLength -1 && data[end + 1] > 0)//先判断这个数是否为非正,再看下一个是否为正
                        continue;//终止点是非正数的或者 下一个点是正数的,肯定不是最大序列,继续下一轮
                    int sum = 0;
                    for (int k = start; k <= end; k++)
                    {
                        sum = sum + data[k];
                    }
//System.out.println(start+"---"+end+"---sum:"+sum);
                    node.add(new ArraySession(start, end, sum));
                }
            }

            int max2 = node.get(0).sum;
            ArraySession result=null;
            for(ArraySession i:node)
            {
                if (max2 <= i.sum)//此处的等于很重要
                {
                    max2 = i.sum;
                    result = i;
                }
            }
            return result;
        }
    }



public class ArraySession
    {
        public int start;
        public int end;
        public int sum;
        
        //构造函数
        public ArraySession(int start, int end, int sum)
        {
            this.start = start;
            this.end = end;
            this.sum = sum;
        }

        //打印此段的基本信息
        public void sessionPrint()
        {
            System.out.println("此段的开端索引值为:start="+start);
            System.out.println("此段的结尾索引值为:end="+end);
            System.out.println("此段的元素之和为:sum="+sum);
        }
    }





public class MainClass
    {
        //主函数 ,程序的入口点 ,此类主要用作调试函数
       public static void main(String[] args)
        {
            //int[] array ={ -1, 3, -1, -2, 1, -1, 5, -6,-7, -8 };
            //new IntArray(new Mathlet().arrayMultiMax(array)).printArray();

            //Console.WriteLine(new Mathlet().triFibonacci(BasicFunctions.intInput("请输入一个整数")));
            //Console.ReadKey();

            //new ArraySession(1, 2, 3).sessionPrint();

            int[] array = { 1, -7, 0, 2, -3, 4, -2, 6, -7, -8 };

            new IntArray(array).sliceMax().sessionPrint();

            
        }
    }



注:本代码是本人的java改进版,源代码为C#的 参考 牟盖东 先生的!
分享到:
评论

相关推荐

    淘宝笔试真题2010

    【淘宝笔试真题2010】:这个标题暗示了我们即将探讨的是2010年淘宝公司进行的笔试题目,这些题目可能涵盖了信息技术、电子商务、互联网运营等多个方面。淘宝作为中国最大的电子商务平台,其笔试题目往往反映了企业对...

    淘宝2011年求职应聘指南(笔试真题 面试经验)

    根据给定的文件信息,我们将围绕“淘宝2011年求职应聘指南(笔试真题 面试经验)”这一主题展开详细的知识点解析。虽然提供的内容较为有限,但我们可以从标题、描述以及标签中推测出一些重要的知识点,并对其进行...

    淘宝技术类笔试题pdf加图片

    淘宝作为中国知名的电商平台,其技术类笔试题涵盖了广泛的IT知识领域,主要针对Java和C++等编程语言。这些题目旨在评估应聘者的编程能力、算法理解、数据结构掌握以及问题解决技巧。通过研究这些题目,求职者可以更...

    淘宝校园招聘笔试试题.doc

    【淘宝校园招聘笔试试题解析】 1. **Java计算武侠花名出处数量** 这是一道编程题,要求使用Java编写程序统计武侠花名的出处。首先,我们需要读取文本文件,文件中包含了花名及其出处。可以使用Java的`Scanner`类来...

    淘宝2017实习招聘笔试题(1).pdf

    【淘宝2017实习招聘笔试题解析】 本次笔试题主要涵盖了计算机科学和技术的基础知识,包括网络、数据结构、算法、编程以及逻辑推理等。以下是对各题目的详细解析: 1. **网络基础**:在局域网中,两台千兆网卡的...

    阿里巴巴笔试题

    通过解答这些笔试题,求职者不仅可以检验自己的技术水平,还能提升分析问题和解决问题的能力。同时,这些题目也暗示了阿里巴巴对员工的期望,即具备扎实的理论基础,良好的问题解决技巧,以及不断学习和适应新技术的...

    淘宝2017校园招聘清华笔试试题.pdf

    【淘宝2017校园招聘清华笔试试题解析】 1. **DB、DBS、DBMS 关系**: 数据库(DB)是用于存储和管理数据的系统,它可以是电子表格、文件或其他数据结构。数据库管理系统(DBMS)是一组软件,用于创建、维护和管理...

    阿里巴巴笔试题目合集

    1. **编程能力**:阿里巴巴笔试通常会包含编程题,主要考察应聘者的算法基础、数据结构理解和实际编程能力。常见的题目类型有动态规划、排序算法、查找算法、字符串处理等。例如,你可能会遇到要求实现快速排序、二...

    淘宝2011实习招聘笔试.doc

    文档“淘宝2011实习招聘笔试.doc”包含了一些IT基础知识和编程问题,主要涉及到网络、数据结构、算法和编程技巧。以下是对这些知识点的详细解释: 1. **网络速度计算**: 题目中提到的千兆网卡在局域网中的数据...

    淘宝笔试资料 必看 有益处

    在准备淘宝笔试的过程中,除了深入学习以上知识点,还要通过模拟题和实战练习来提升解题速度和准确率。同时,关注行业动态,了解淘宝最新的发展和政策变化,可以使你的答案更具时效性和深度。最后,保持积极的心态,...

    九月腾讯,创新工场,淘宝等公司最新面试三十题(第171-200题)

    总结来说,腾讯、创新工场、淘宝等知名IT公司所提出的面试题,不仅考查应聘者对基础算法和编程技能的掌握,也着重考察了在实际问题中灵活运用知识、解决复杂问题的能力。此外,能够快速学习新技术、应用到实际中,...

    10淘宝网+技术类+笔试.rar

    《淘宝网技术类笔试知识点详解》 在互联网行业中,淘宝网作为国内领先的电子商务平台,其技术面试和笔试环节对候选人的技术能力要求极高。这份"10淘宝网+技术类+笔试.rar"压缩包文件,显然是针对淘宝网技术类岗位的...

    阿里笔试与答案

    题目.pdf可能包含了这些领域的多项选择题、填空题、编程题或案例分析题,涵盖的内容可能包括但不限于: 1. 数据结构:链表、栈、队列、树(二叉树、平衡树、堆)、图等基础数据结构的理解和应用。 2. 算法:排序...

    淘宝实习大礼包

    ### 淘宝笔试资料 #### 2.1 广州站交互设计试题 - **重点考察**:设计思维、用户体验设计能力。 #### 2.2-2.10 笔试经验分享 - **涵盖领域**:包括但不限于交互设计、软件开发、测试等方向。 - **考察内容**:编程...

    阿里巴巴2011校园招聘大礼包

    - **技术类笔试题**:主要考查算法、编程基础、计算机网络等专业知识。 #### 六、阿里巴巴校园招聘面试经验 阿里巴巴的面试流程通常包括技术面试和综合面试两大部分。技术面试主要考查应聘者的技术能力和专业知识...

    阿里巴巴2015 暑期实习 运营专员.pdf

    【阿里巴巴2015暑期实习运营专员笔试题详解】 阿里巴巴作为全球领先的互联网巨头,其运营专员的实习生招聘标准自然严谨且具有挑战性。通过提供的笔试题,我们可以深入了解阿里巴巴对运营人才的能力要求,主要包括...

    西工大航天学院电子信息类复试936八年真题及答案.pdf

    比如,文件中两次出现“2014 7、”,可能是指2014年的第七题,考生应根据上下文和其他参考材料推断出完整的题目内容,并结合自己的专业知识进行解答。 此外,文件中提到的“淘宝上100多块钱卖的也只有5年”,说明这...

Global site tag (gtag.js) - Google Analytics