2024Python开发面试解答,Python-VBA编程500例-006(入门级),面试字节跳动Python研发岗

综上所述,寻找下一个更大数在算法中具有广泛的应用和实际意义,它不仅可以提高算法的效率,还可以帮助我们更好地理解数据和解决问题。

1、寻找下一个更大数:
1-1、Python:

1.问题描述:

两个不重复的数组arr1和arr2,其中arr1是arr2的子集,在arr2的相应位置找到arr1所有元素的下一个更大数字.

arr1中数字x的下一个更大数字是arr2中x右边第1个更大的数字.如果它不存在,则为此数字返回-1.arr1和arr2中的所有数字都是唯一的,且长度尽量控制在1000以内.

2.问题示例:

输入arr1=[3,5,10,7],arr2=[3,5,6,8,10,11,24,7],输出[5,6,11,-1].对于数组arr1中的第1个元素3,在arr2中的下一个更大数字是5;对于数组arr1中的第2个元素5,在arr2中的下一个更大数字是6;

对于数组arr1中的第3个元素10,在arr2中的下一个更大数字是11;对于数组arr1中的第4个元素7,在arr2中没有下一个更大的元素,因此返回-1.

3.代码实现:

class Solution:

参数arr1: 整数数组

参数arr2: 整数数组

返回值: 整数数组

def nextGreaterElement(self, arr1, arr2):
answer = {}
stack = []
for x in arr2:
while len(stack) != 0 and stack[-1] < x: # len(stack)!=0代码可简写为stack,stack[-1]表示列表stack中最后一个元素.
answer[stack[-1]] = x
del stack[-1]
stack.append(x)
for x in stack:
answer[x] = -1
return [answer[x] for x in arr1]

主函数

if name == ‘main’:
solution =Solution()
arr1 = [3, 5, 10, 7]
arr2 = [3, 5, 6, 8, 10, 11, 24, 7]
print(“输入arr1:”, arr1)
print(“输入arr2:”, arr2)
print(“输出:”, solution.nextGreaterElement(arr1, arr2))

4.运行结果:

输入arr1: [3, 5, 10, 7]

输入arr2: [3, 5, 6, 8, 10, 11, 24, 7]

输出: [5, 6, 11, -1]

1-2、VBA:

Rem 自定义函数,功能:寻找下一个更大数
Function FindNextGreaterElements(arr1 As Variant, arr2 As Variant) As Variant
Dim dict As Object
Dim i As Long, j As Long
Dim nextGreater As Variant
Dim result() As Variant

'创建字典对象
Set dict = CreateObject(“Scripting.Dictionary”) '此处需要引用控件:Microsoft Scripting Runtime,即对应系统路径下的动态库:C:\Windows\SysWOW64\scrrun.dll

'遍历arr2,为每个元素找到下一个更大元素并存入字典
For i = LBound(arr2) To UBound(arr2) - 1
nextGreater = -1 '初始化nextGreater为-1,表示尚未找到

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)*
[外链图片转存中…(img-SNiMBr30-1712396029724)]

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值