[公开]首都医科大学附属北京儿童医院接诉即办服务项目中标公告
中标评审分析官方公示数据
中标原因深度分析独家解读
023/2023-09-20
# 2023-09-20
一、问题背景
1. 1.1 题目描述
在给定一个整数数组(已排序),以及一个目标值,查找目标值第一次出现的位置。如果目标值不存在于数组中,则返回 -1。
1. 1.2 输入输出格式
输入格式:
• 第一行包含一个整数 n 表示数组长度。
• 第二行包含 n 个整数,表示排序后的数组。
• 第三行包含一个整数 target 表示目标值。
输出格式:
• 输出一个整数,表示目标值第一次出现的位置,如果目标值不存在,则输出 -1。
1. 1.3 示例
输入:
``````5
1 2 4 5 6
3``````
输出:
``````-1
``````
1. 1.4 备注
- 数组长度 n 满足 0 ≤ n ≤ 100000。
- 整数范围满足 -100000 ≤ target ≤ 100000。
二、解题思路
1. 2.1 方法一:暴力搜索
1. 2.1.1 算法描述
暴力搜索法的基本思路是遍历数组,从左至右依次检查每个元素,检查目标值是否等于当前元素。如果找到目标值,记录下该位置,并停止搜索;如果遍历完整个数组都没有找到目标值,则返回 -1。
1. 2.1.2 代码实现
```python
def first_occurrence(nums, target):
n = len(nums)
for i in range(n):
if nums[i] == target:
return i
return -1
```
1. 2.2 方法二:二分查找
1. 2.2.1 算法描述
二分查找法利用了数组已排序的特性,通过不断缩小查找范围来高效地定位目标值。首先找到数组的中间元素,比较中间元素和目标值,根据目标值的位置选择继续在左半部分或右半部分进行查找。重复上述过程,直到目标值被找到或查找范围缩小到无法继续查找时结束。
1. 2.2.2 代码实现
```python
def binary_search(nums, target):
n = len(nums)
left, right = 0, n - 1
while left <= right:
mid = left + (right - left) // 2
if nums[mid] == target:
if mid == 0 or nums[mid - 1] != target:
return mid
else:
right = mid - 1
elif nums[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
```
1. 2.3 方法三:双指针
1. 2.3.1 算法描述
双指针法通过将数组分为左右两部分,分别在左右两端进行搜索。初始化时,左指针指向数组开头,右指针指向数组末尾。根据目标值与当前左右端元素的关系,移动左指针或右指针来缩小查找范围,最终找到目标值第一次出现的位置。
1. 2.3.2 代码实现
```python
def two_pointers(nums, target):
left, right = 0, len(nums) - 1
while left <= right:
mid = left + (right - left) // 2
if nums[mid] == target:
if mid == 0 or nums[mid - 1] != target:
return mid
else:
right = mid - 1
elif nums[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
```
三、复杂度分析
1. 3.1 方法一:暴力搜索
- 时间复杂度:O(n),其中 n 是数组长度。
- 空间复杂度:O(1)。
1. 3.2 方法二:二分查找
- 时间复杂度:O(log n),其中 n 是数组长度。
- 空间复杂度:O(1)。
1. 3.3 方法三:双指针
- 时间复杂度:O(log n),其中 n 是数组长度。
- 空间复杂度:O(1)。
四、总结
通过上述三种方法的分析,我们可以看出,二分查找法在处理有序数组时具有较高的效率,时间复杂度为 O(log n)。此外,双指针法也是一种有效的方法,其时间复杂度同样为 O(log n)。在实际应用中,可以根据具体需求选择合适的方法。对于本题而言,二分查找法是最优的选择。
五、代码实现
```python
class Solution:
def searchInsert(self, nums, target):
# 方法一:暴力搜索
# return self.bubble_sort(nums, target)
# 方法二:二分查找
# return self.binary_search(nums, target)
# 方法三:双指针
return self.two_pointers(nums, target)
def bubble_sort(self, nums, target):
n = len(nums)
for i in range(n):
for j in range(n - i - 1):
一、项目编号:11000026210200171575-XM001
二、项目名称:首都医科大学附属北京儿童医院接诉即办服务项目
三、中标(成交)信息
总中标成交金额:178.734204 万元(人民币)
中标成交供应商名称、地址及中标成交金额:
中标成交供应商名称:北京天益恒润物业管理有限公司
中标成交供应商地址:北京市顺义区李遂镇市场南路3幢60号
中标金额:178.734204万元
| 供应商名称 | 供应商地址 | 统一信用代码 | 中标金额 | 中标成交备注信息 |
|---|---|---|---|---|
| 北京天益恒润物业管理有限公司 | 北京市顺义区李遂镇市场南路3幢60号 | 91110113MAD5T54Q5B | 178.734204 万元 | 评审总得分(综合评分法): 96.8 分 |
四、主要标的信息
| 供应商 | 商品名称 | 规格型号 | 数量 | 单价 | 总价 | 服务要求 |
|---|---|---|---|---|---|---|
| 北京天益恒润物业管理有限公司 | 1 | 178.734204万元 | 178.734204万元 | 满足采购人要求 |
项目用途、简要技术要求:在接诉即办中心办公室,负责医院对外服务电话的接听和回复。就诊流程咨询,用药咨询、诊前业务咨询、APP预约挂号答疑、投诉转接承办、病房业务咨询等服务。负责转接患者投诉,并回复或通知相关部门回复处理结果。具体要求详见招标文件“第五章 采购需求”合同履行日期:自合同签订之日起1年
五、评审专家(单一来源采购人员)名单:
董桂英、向英、才秀芬、翟锋、孙旭东
六、代理服务收费标准及金额:
本项目代理费总金额:2.1299万元(人民币)
本项目代理费收费标准:
详见招标文件
七、公告期限
自本公告发布之日起1个工作日。
八、其它补充事宜
1、项目代理编号:HCZB-2026-ZB0481
2、本项目采用综合评分法,北京天益恒润物业管理有限公司综合得分96.8分,排名第一。
九、凡对本次公告内容提出询问,请按以下方式联系。
1.采购人信息
名 称:首都医科大学附属北京儿童医院
地址:北京市西城区南礼士路56号
联系方式:李老师,010- 59616161
2.采购代理机构信息
名 称:华采招标集团有限公司
地 址:北京市丰台区广安路9号国投财富广场6号楼1601室
联系方式:崔丽洁、赵娜、金珊、刘金秀,010-63509799-8038、8078
3.项目联系方式
项目联系人:崔丽洁、赵娜、金珊、刘金秀
电 话: 010-63509799-8038、8078
数据来源:查看官方原文 | 发布日期:2026-06-01