乐鑫 7.12笔试

第一题:x^(-1)+x = k, 求x^(-m)+x^m
题解:假设F(a)=x^(-a)+x^a
F(a)*F(1)=F(a+1)+F(a-1)
F(0)=2, F(1)=k,可以直接动规

F = [0]*(m+1)
F[0]=2
F[1]=k
for i in range(2, m+1):
    F[i] = F[i-1]*F[1]-F[i-2]
print(F[m])

第二题:给一个长度为n的乱序数组,每次只能将数组中的一个元素移到队首(置顶),求将该乱序数组变成升序数组的置顶次数
题解:如果一个数在乱序数组中,前面有数字比该数大,则这个数是乱序数。找出最大的乱序数,该乱序数在升序数组中的位置,该位置就是置顶次数(因为比该数小的数都需要在这个数之前置顶)

n = 6
nums = [1,6,5,3,4,2]
if n<2:
    print(n)
else:
    cur = nums[0]
    curMax = 0
    for item in nums:
        if item>cur:
            cur = item
        if item<cur and item>curMax:
            curMax = item
    nums.sort()
    for i in range(n):
        if nums[i]==curMax:
            print(i+1)
#乐鑫#
全部评论
老哥  这是力扣原题吗
点赞 回复 分享
发布于 2022-07-20 23:02
大佬,笔试后由面试的消息吗
点赞 回复 分享
发布于 2022-07-19 23:11

相关推荐

点赞 评论 收藏
分享
评论
7
23
分享

创作者周榜

更多
牛客网
牛客企业服务