2026年西安交大计算机考试题库及答案.docxVIP

  • 0
  • 0
  • 约7千字
  • 约 21页
  • 2026-06-29 发布于四川
  • 举报

2026年西安交大计算机考试题库及答案.docx

2026年西安交大计算机考试题库及答案

西安交通大学计算机科学与技术专业考试题库(2026年)

第一部分:数据结构与算法

题目1:

给定一个整数数组`nums`和一个目标值`target`,请设计一个时间复杂度为O(nlogn)的算法,找出数组中所有满足`nums[i]+nums[j]=target`的索引对(i,j),其中i≠j。要求输出所有可能的索引对,且不能重复。

答案:

首先对数组进行排序,同时保留原始索引信息。使用双指针法,左指针初始指向数组起始位置,右指针指向数组末尾。计算左右指针指向元素之和,若等于目标值,则记录对应的原始索引对,并同时移动左右指针跳过重复元素;若和小于目标值,则左指针右移;若和大于目标值,则右指针左移。重复此过程直到左右指针相遇。时间复杂度为O(nlogn)用于排序,双指针遍历为O(n),总复杂度满足要求。

题目2:

设计一个支持以下操作的数据结构:

1.`insert(val)`:插入元素val。

2.`deleteRandom()`:随机删除一个元素并返回该元素,要求每个元素被删除的概率相等。

3.所有操作的平均时间复杂度应为O(1)。

答案:

题目3:

给定一棵二叉树,每个节点包含一个整数值。请设计算法计算二叉树中所有“倾斜路径”的最大和。倾斜路径定义为从任意节点出发,沿左子树或右子树方向向下移

文档评论(0)

1亿VIP精品文档

相关文档