乐鑫笔试编程题

题意:存在一根电线杆,可以是第一根或者最后一根,在该电线杆前的电线杆的高度是不增的,在它之后的电线杆的高度是不减的,请求出最少需要调整多少根电线杆的高度、

输入n+1行
第一行整数n表示电线杆数
剩下n行表示电线杆的高度
10
6 3 4 3 3 4 5 5 4 6
输出2
注意是存在,至少调整的数量、

# 就是标记从左到右不满足非递减的数,标记从右到左不满足非递减的数,然后统计i处左右两的不满足条件的标记数,最后取最小
class Solution:
    def min_adjustment(self, n: int, hight: 'list[int]'):
        dec, inc = [0] * n, [0] * n
        def adjusted():
            # mark non-decreasing Numbers
            low = hight[0]
            for i in range(1,n):  # from left to right
                if hight[i] > low:
                    dec[i] = 1  # need be adjusted
                else:
                    low = hight[i]  # update the value of low
            # mark non-increasing Numbers
            low = hight[-1]
            for j in range(n-2, -1,-1):  # from right to left
                if hight[j] > low:
                    inc[j] = 1
                else:
                    low = hight[j]

        adjusted()

        res = [0] * n
        # Suppose i meets the conditions
        for i in range(n):
            res[i] = sum(dec[:i]) + sum(inc[i+1:])
        # return the smallest number
        return min(res)

if __name__=='__main__':
    s = Solution()
    n = int(input().strip())
    hight = list(map(int,input().strip().split()))
    print(s.min_adjustment(n, hight))

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
乐鑫科技是一家专注于物联网芯片和解决方案的公司,它在C语言方面开展了一场笔试。C语言是一种广泛使用的、通用的高级编程语言,它为开发者提供了底层控制硬件的能力。 在乐鑫科技的C语言笔试中,可能会包含以下内容:基本语法、数据类型、运算符、控制结构、函数、数组、指针、结构体等。基本语法是最基础的部分,包括如何定义变量、如何使用注释、如何编写函数等。数据类型是C语言中的基本类型,包括整型、浮点型、字符型等,掌握不同数据类型的使用规则至关重要。运算符包括赋值运算符、算术运算符、关系运算符等,它们用于对数据进行操作和比较。控制结构包括条件语句(如if语句)和循环语句(如for循环),它们可以根据条件控制程序的执行流程。函数是C语言中的一个重要概念,它用于封装独立的功能模块,提高代码的可读性和重用性。数组是一组具有相同数据类型的元素的集合,指针则提供了直接访问内存地址的能力,结构体则用于组合多个不同类型的数据。 通过乐鑫科技的C语言笔试,考察者将能够了解到考生对C语言的掌握程度和编程能力。C语言是一门重要的编程语言,在物联网行业尤为重要,因此掌握C语言的基本知识和技能对于乐鑫科技的求职者来说是非常有帮助的。希望通过这场笔试,考生们能够展示出自己的才华和能力,为进一步的面试和招聘机会铺平道路。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值