gpt4 book ai didi

c++ - 在不知道长度的情况下找到数组的中间

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:48 24 4
gpt4 key购买 nike

Find the middle of the string or array with an unknown length. You may not traverse the list to find the length. You may not use anything to help you find the length - as it is "unknown." (ie. no sizeof (C) or count(C#) etc...)

我有这个问题作为面试问题。我只是想知道答案是什么。我确实问过我是否可以使用 sizeof,他说“不,字符串或数组的大小是未知的——你只需要到达中间。”

顺便说一句,我不确定这是否真的可以在没有遍历的情况下解决。我几乎觉得他可能想看看我对我的回答有多自信:S 不确定......

他的英语很糟糕 - 也不确定这是否会造成误解。他直接告诉我,我不需要遍历列表就可以到达中间 :S :S 我假设他的意思是根本不需要遍历..... :S

最佳答案

有两个计数器,c1 和 c2。开始遍历列表,每次递增 c1,每隔一次递增 c2。当 c1 走到尽头时,c2 将在中间。

你还没有“遍历列表找到长度”然后将它除以二,你只是遍历了一次。

我能想到的唯一其他方法是继续删除列表的第一项和最后一项,直到剩下中间的一项。

关于c++ - 在不知道长度的情况下找到数组的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7862163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com