华为OD机试 Python 【找朋友】

6 篇文章 0 订阅 ¥19.90 ¥99.00

题目描述

在学校中,有 (N) 个小朋友站成一队,每个小朋友的身高分别为 (height[i])。对于每个小朋友 (i),需要找到站在其右边((j > i))且第一个比 (height[i]) 身高更高的小朋友 (j),如果存在这样的小朋友 (j),那么 (j) 就是小朋友 (i) 的好朋友。否则,如果没有找到这样的好朋友,则输出 (0)。

输入输出格式

输入描述

  • 第一行输入一个整数 (N),表示小朋友的数量。
  • 第二行输入 (N) 个整数,表示每个小朋友的身高,身高之间用空格分隔。

输出描述

  • 输出一个长度为 (N) 的数组,数组中每个元素表示对应小朋友的好朋友位置,若找不到则输出0。

示例

  • 输入:
    8
    123 124 125 121 119 122 126 123
    
  • 输出:
    1 2 6 5 5 6 0 0
    

解题思路

栈解法

栈解法是一种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值