当前位置: 首页 > article >正文

【AcWing】【Go】789. 数的范围

AcWing 789. 数的范围

这是一道二分的模板题,来自于AcWing,使用Go语言重新实现一遍C++中二分查找算法的模板,代码如下:

package main

import "fmt"

func main() {
	var n, k int
	fmt.Scanf("%d %d", &n, &k)

	q := make([]int, n)
	for i := 1; i <= n; i++ {
		fmt.Scanf("%d", &q[i])
	}

	for i := 1; i <= k; i++ {
		var x int
		fmt.Scanf("%d", &x)
		l, r := 1, n
		for l < r {
			mid := (l + r) >> 1
			if q[mid] >= x {
				r = mid
			} else {
				l = mid + 1
			}
		}
		if q[l] == x {
			fmt.Printf("%d ", l)
		} else {
			fmt.Printf("-1 -1\n")
			continue
		}

		l, r = 1, n
		for l < r {
			mid := (l + r + 1) >> 1
			if q[mid] <= x {
				l = mid
			} else {
				r = mid - 1
			}
		}
		fmt.Printf("%d\n", l)
	}
	return
}


http://www.kler.cn/a/306029.html

相关文章:

  • .NET常用的ORM框架及性能优劣分析总结
  • 强化特种作业管理,筑牢安全生产防线
  • XXLJob部署和使用教程
  • C语言从入门到放弃教程
  • 如何在谷歌浏览器中进行网络速度测试
  • Java重要面试名词整理(四):并发编程(下)
  • Leetcode面试经典150题-82.删除排序链表中的重复元素II
  • NISP 一级 | 5.3 电子邮件安全
  • LottieCompositionFactory.fromUrl 加载lottie的json文件
  • 《微信小程序实战(1)· 开篇示例 》
  • Python——俄罗斯方块
  • .NET/C#⾯试题汇总系列:多线程
  • 【有啥问啥】自动提示词工程(Automatic Prompt Engineering, APE):深入解析与技术应用
  • Spring security 动态权限管理(基于数据库)
  • 多源BFS的模板以及练习题(多源BFS)
  • `character_set_server` 和 `collation_server`
  • nvm安装并配置全局缓存文件
  • 【webpack4系列】webpack初识与构建工具发展(一)
  • 【GO语言】Go语言详解与应用场景分析,与Java的对比及优缺点
  • CSP组T1怪物
  • 升级VMware
  • 视频监控摄像头国标GB28181配置参数逐条解析
  • UE5安卓项目打包安装
  • Rust 控制流
  • NarratoAI利用AI大模型,一键解说并剪辑视频
  • SQL优化(二)统计信息