阿里笔试 自测没问题

阿里笔试 求讨论
题目大概意思是:小明去超市消费n次数,若连续两次消费超过10
并且全部消费或部分消费之和为给定数如(500)则可以获得50优惠券
若是可以获得优惠券输出true否则输出false。(不能用循环)
11,13,2.5
500
false

第二题(自测没问题)
import java.util.Arrays;
import java.util.Scanner;
public class Main {
/*请完成下面这个函数,实现题目要求的功能*/
/*当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ */
/******************************开始写代码******************************/
    static boolean isExist = false;
    public static boolean isQualified (double[] nums, double target) {
        if (isTen (nums, 0)) {
            isExist = isRed (nums,0 , target);;
        };
        return isExist;
    }
    public static boolean isRed (double[] nums,int index , double target) {
        if (target==0) {
            return true;
        }else {
            if (index>nums.length-1) {
                return false;
            }else {
                if (isRed (nums,index+1 ,target-nums[index])) {
                    return true;
                }else {
                    return isRed (nums,index+1 ,target);
                }
            }
        }
    }
    public static boolean isTen (double[] nums, int index) {
        if (nums.length>index+1) {
            boolean f = nums[index]>10&&nums[index+1]>10;
            if (f) {
                return true;
            }else {
                return isTen (nums,index+1);
            }
        }else {
            return false;
        }
    }
/******************************结束写代码******************************/
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        boolean res;
        double[] j;
        String str = in.nextLine().trim().toString();
        j = Arrays.stream(str.split(",")).mapToDouble(Double::parseDouble).toArray(); //java8 only
        double k;
        k = Double.parseDouble(in.nextLine().trim());
        res = isQualified (j, k);
        System.out.println(String.valueOf(res));
    }
}

#阿里巴巴##笔试题目#
全部评论
题目是什么
点赞 回复 分享
发布于 2018-09-07 21:02

相关推荐

HR_丸山彩同学:你的项目描述里,系统设计讲了很多:MemCube是什么、三级存储架构怎么设计、四种遗忘策略分别是什么。这些面试的时候讲没问题,但简历上不需要这么细。 简历要突出的是影响力,不是实现细节。面试官看简历的时候想知道的是「这个项目有多大价值」,不是「这个项目具体怎么实现的」。实现细节是面试时候聊的 怎么改:技术细节可以精简为一句「采用三级存储架构+四种遗忘策略」,把省出来的篇幅用来写影响力。比如:项目有没有开源?有没有写成技术博客?有没有被别人使用过? 校园经历没有任何信息量,任何人都可以写这句话,写了等于没写。更关键的是,你投的是技术岗,校园活动经历本来就不是加分项。如果非要写,必须写出具体的数字和成果。如果你没有这些数字,那就老老实实删掉 「端到端耗时缩减30-40%」要给出确切数字和绝对值。从1000ms降到600ms是降了40%,从100ms降到60ms也是降了40%,但这两个含义完全不一样。其他也是,涉及到数据,准备好证据,口径统一,面试会问 「熟练」「熟悉」「了解」混在一起用,读起来很乱。而且「了解前端需求」最好改成「具备前后端协作经验」
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务