网易Java实习生----2021.3.27

第1题

题目描述:
给定一个值 x x x和一个二叉树root,请返回二叉树的最优质路径。
最优质路径定义为:从根节点出发开始遍历,在整个树的所有遍历路径中,路径上所有节点的和刚好等于给定值,如果存在多天的话,则返回最短的那条路径,如果多条路径长度一样,则返回最左边的那条路径,不存在则返回空。
树中的节点值都是大于0的整数,节点的值可能重复, x x x也是一个大于0的整数。
输入描述:
输入分为两行,第一行是二叉树按照从上往下,从左到右遍历之后的结果,存放在数组中,如果遇到节点为空,则用null表示。
在这里插入图片描述
这个二叉树对应的数组展开结果就是:[3,1,5,2,null,4,6],整个数组内容作为第一行输入,其中数组元素的值就是树中节点对应的值。
第二行是一个大于等于0的整数,输入长度不超过1000。
输出描述:
一条路径,存储在数组当中如果是空,则直接返回[]。
示例1:

第2题

题目描述:
给定一个数组,求其最长摇摆子数组的长度。摇摆子数组是一种特殊的数组:
(1) 数组元素前后的大小关系有规律的变化,出去头尾之外,每两次连续递增或递减之后需要发生一次”摇摆“,也就是递增(递减)关系变成递减(递增);
(2) 子数组必须至少包含两次递增和递减。
输入描述:
第一行输入时数组的长度,第二行输入完整的数组,每个数组元素之间按照空格隔开,数组元素个数在1~100000之间
输出描述:
直接输出最长摇摆子数组的大小,如果不存在这样的摇摆子数组则输出0。
示例1:
  输入:5
     1 2 3 2 1
  输出:5

第3题

题目描述:
中国传统吉祥数字是 6 6 6,现给定一个数组,请找出一个子集合,集合中数字的和能被6整除,且和是所有满足要求的子集合里面的最大值,如果找不到则返回-1。
输入描述:
第一行输入为数组大小 n n n,1<=n<=100000
第二行为数组nums,数组数字之间用空格区分,sum(nums)<=100000000
输出描述:
最大和整数,如果找不到则返回-1
示例1:
  输入:4
     6 8 4 3
  输出:18

第4题

题目描述:
满减活动是指用户单次购买的商品价格总数达到一定数额门槛T后,会在下单结算时直接给用户减免一定的金额y,如常见的满1000减100活动。(为简化问题,每次结算最多只能减一次,如满1000减100活动,当满2000时也只能减一次100).而用户为了优惠的最大化,一般都会尽量控制购买的商品金额累计刚好超过满减要求数额T,超过的部分越小越好,从而获得最大的折扣力度。
现有一个严选粉丝用户小王,他是一个把优惠利用到极致的人,现在他购物车里有若干商品,并不要求一次性都买完,只是想利用促销活动,把其中的部分商品先下一个订单,获取最大优惠即可。(一种商品不能重复购买)请帮他计算如何组合商品,可以满足他的要求。
输入描述:
第一行为满减活动的门槛T,为整数,
第二行为其满减活动的减去金额y,为整数,
第三行为小王购物车里的商品价格列表 x 1 , x 2 , . . . x m x_1,x_2,...x_m x1,x2,...xm,均为正数,用空格分隔, 0 < x i < 110000 0 \lt x_i \lt 110000 0<xi<110000 0 < i < 10000 0 \lt i \lt 10000 0<i<10000
输出描述:
小王该次下单,最后要实付的金额,为一个整数,如果最后总金额没有达到满减要求,输出商品原来总价即可。
示例
  输入:100
     10
     47 59 42 54
  输出:91

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬の夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值