开发者社区 问答 正文

如何从字符串数组中获取最大值?

您具有字符串数组{“ A”,“ 10”,“ B”,“ 30”,“ D”,“ 10”,“ A”,“-5”};其中字母字符串代表朋友名称,数字字符串代表从他身上拿走钱,找到我需要给他更多钱的朋友名字。

请帮忙?

展开
收起
垚tutu 2019-11-28 19:03:16 649 分享 版权
阿里云 AI 助理回答

要解决这个问题,我们可以使用编程逻辑来处理这个字符串数组。虽然我目前无法直接执行代码,但我可以指导你如何用伪代码或解释逻辑来实现这个需求。这里是一个简单的步骤说明,你可以选择任何编程语言(如Python、Java等)来实现它:

  1. 初始化一个字典:首先,创建一个空字典(在Python中是dict,在其他语言中可能是map或dictionary),用于存储每个朋友的累计金额。键(key)为朋友的名字,值(value)为从他那里拿走的钱的总和。

  2. 遍历数组:遍历给定的字符串数组。对于数组中的每一个元素,检查它是否为数字字符串还是字母字符串。

    • 如果是字母字符串(代表朋友名字),将其作为字典的键,并初始化该朋友的金额为0(如果之前没有出现过)。
    • 如果是数字字符串(代表金额),则需要减去这个数值(因为是从他那里拿走钱),并更新对应朋友在字典中的值。
  3. 确定需要还钱的朋友:遍历字典,找出那些值为负数的朋友,这意味着你需要给他们更多的钱。

以下是一个简化的Python示例逻辑,帮助理解这个过程:

def find_friends_owed_money(arr):
    friends_debt = {}
    current_friend = None

    for item in arr:
        if item.isalpha():  # It's a friend's name
            current_friend = item
            friends_debt[current_friend] = 0  # Initialize or reset the debt
        else:  # It's an amount
            amount = int(item)
            friends_debt[current_friend] -= amount  # Subtract the amount
            
    # Find friends you owe money to
    friends_to_repay = [friend for friend, debt in friends_debt.items() if debt < 0]
    
    return friends_to_repay

array = ["A", "10", "B", "30", "D", "10", "A", "-5"]
print(find_friends_owed_money(array))

这段代码会输出需要你还钱的朋友名字列表。根据你的数组,结果应该是['A'],因为你最终从"A"那里多拿了钱(第一次-10,第二次-5)。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: