编程笔试题如何提高.docxVIP

  • 1
  • 0
  • 约4.99千字
  • 约 6页
  • 2026-08-20 发布于河南
  • 举报

编程笔试题如何提高

考试时间:______分钟总分:______分姓名:______

第一题:给定一个数组`arr`和一个整数`target`,请判断数组中是否存在至少三个元素`arr[i]`,`arr[j]`,`arr[k]`,使得`ijk`且`arr[i]+arr[j]+arr[k]==target`。请实现一个函数,返回满足条件的三元组个数。例如,给定数组`nums=[2,7,11,15,-2,1,2,3]`,`target=5`,函数应返回`2`,因为`[2,2,1]`和`[2,3,0]`(注意数组中存在值为0的元素)是满足条件的三元组。

第二题:请实现一个函数,对一个非空的整数数组`nums`进行原地(不使用额外空间)的快速排序。要求描述你的排序过程,包括如何选择基准元素(pivot),如何分区(partition)数组,以及如何递归地对子数组进行排序。

第三题:给定一个字符串`s`,请判断该字符串是否是有效的括号字符串。有效括号字符串需满足:左括号必须用相同类型的右括号闭合,左括号必须以正确的顺序闭合,空字符串也被视为有效字符串。例如,`()`和`(())`是有效的,而`)(`和`(()`是无效的。

第四题:请设计一个算法,找出数组中重复次数超过数组长度一半

文档评论(0)

1亿VIP精品文档

相关文档