Version 0.1.1 rise to flask app factory

This commit is contained in:
CakeCN
2025-08-27 19:39:38 +08:00
parent 8dba8688a7
commit 5c0187bc4b
55 changed files with 1708 additions and 613 deletions

View File

@@ -0,0 +1,53 @@
<html>
<head>
<style>
img {
max-width: 100%;
height: auto;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.2.0/github-markdown.min.css">
</head>
<body>
<h1>二分查找与二分答案</h1>
<h2>二分查找</h2>
<h3>引入</h3>
<p>二分是一个很简单基础,但很重要的知识点,为以后许多高级的数据结构与算法铺垫。</p>
<p>下面是一个用二分的简单场景:</p>
<p>假设小明从0到1000之间选择了一个数字但不告诉你,你可以不断猜测这个数,每次猜测小明会告知你的猜测得过大还是过小,问最多几次就一定能猜中?</p>
<p>答案是利用二分查找的原理,猜测11次即可。</p>
<ol>
<li>对于0到1000的答案备选区,猜测中位数500,假设过小,</li>
<li>则对于501到1000的答案备选区,猜测750,假设过大</li>
<li>则对于501到749的答案备选区,猜测625,假设过小,</li>
<li>则对于626到749区间......</li>
<li>(688-749)</li>
<li>(718-749)</li>
<li>(734-749)</li>
<li>(742-749)</li>
<li>(746-749)</li>
<li>(748-749)</li>
<li>(749-749)</li>
</ol>
<p>在最差的情况下,第11次的答案备选区就一定长度为1了,也就是必然是答案。</p>
<p>因此如果序列是有序的,就可以通过二分查找快速定位所需要的数据。</p>
<h4>思考题(询问Agent以学习计算方法,或验证你的答案)</h4>
<p>对于上面那个题目,如果问题区间是1到4000,最差情况下需要猜测几次?</p>
<h3>练习:二分查找</h3>
<p>试试对于下面的题目,用代码实现一下二分查找。</p>
<h4>题目:有序数组寻址</h4>
<p>给出一个长度为n的有序数组(从小到大),有q次询问,对于每次询问,输出指定数在数组中的下标。如果不存在则输出-1。</p>
<h5>输入</h5>
<p>第一行一个整数n。(1&lt;=n&lt;=10^5)</p>
<p>第二行n个用空格分开的整数ai。(0&lt;=ai&lt;=10^8)</p>
<p>第三行一个整数q,表示询问的次数。(1&lt;=q&lt;=10^4)</p>
<p>后q行,每行一个整数b,表示询问的数。(0&lt;=b&lt;=10^8)</p>
<h5>输出</h5>
<p>q行,每行一个整数,对应每次询问的返回结果。</p>
<h5>提示:</h5>
<p>完成代码后,通知Agent进行评测。</p>
<p>如果你还不完全会这个算法,询问Agent获取提示并进行学习。</p>
</body>
</html>