首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java

    7-6 连续因子

    7-6 连续因子 题目 7-6 连续因子 (20 分) 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。

    32210编辑于 2025-01-21
  • 来自专栏刷题笔记

    7-6 A-B

    点这里 7-6 A-B 本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

    72320发布于 2019-11-08
  • 来自专栏刷题笔记

    7-6 列车调度 (25 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/98481886 7-6 列车调度 (25 分) 火车站的列车调度铁轨的结构如下图所示。 7-6 列车调度 (25 分) - mumu - CSDN博客 这个问题分析起来挺简单的。我想的是整一个数组,比前面大的小,就把大的换成这个小的,比前面的大就存到下一个。

    1.2K10发布于 2019-11-08
  • 来自专栏刷题笔记

    7-6 出生年 (15 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/99697104 7-6 出生年 (15 分) ?

    97430发布于 2019-11-08
  • 来自专栏刷题笔记

    7-6 部分排序 (15 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/101473028 7-6 部分排序 (15 分) 对于一组数据,我们可以只对原先处在中间位置的那些元素进行排序

    1.1K20发布于 2019-11-08
  • 来自专栏刷题笔记

    7-6 统计字符出现次数 (20 分)

    本文链接:https://blog.csdn.net/shiliang97/article/details/97867095 7-6 统计字符出现次数 (20 分) 本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数

    4.4K30发布于 2019-11-08
  • 来自专栏刷题笔记

    【2020HBU天梯赛训练】7-6 整除光棍

    7-6 整除光棍 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。

    53310发布于 2020-06-23
  • 来自专栏AI机器学习与深度学习算法

    机器学习入门 7-6 scikit-learn中的PCA

    sklearn封装的PCA与前几个小节我们自己封装的PCA,虽然他们大体流程基本一致,但是他们之间还是有很多不同的地方。

    1.2K30发布于 2019-11-13
  • 来自专栏OI算法学习笔记

    贪心与二分-二分答案

    目标 学会二分答案的基本模板,并能进行简单应用。 重点 二分答案模板的熟悉及对最优性问题转可行性问题的处理。 导图大纲 图片 回顾 复习二分查找。 回顾下二分查找的思想,若序列呈升序,我们求出中间值mid,并判断是否满足条件。 二分查找的时间复杂度为 O(logn)O(logn)O(logn)。而对题目做修改,修改成,查找某个符合某个条件的值的最大或最小的值。此时,套用之前的二分查找的模板就不能够方便地去查找它的位置了。 此时,我们引入二分答案,来解决此类问题。 二分答案类问题抽象 形如这样的问题“求在有序的对象中,满足某个条件C(x)的最小的x”。 小结 稍微回顾下本小结的内容,讲解了二分答案中对于最优性问题转换成可行性问题的处理,以及介绍了另一种二分答案模板,注意两种模板的区别,不要用混。练习了砍树问题,注意数据范围的问题。

    60720编辑于 2022-08-31
  • 来自专栏mathor

    二分查找与二分答案(3)

    虽然我们现在面对的a数组是递减的,不是递增的,但是一样可以用二分查找求解。 显然是可以二分查找的。 第40~50行就是在二分查找,t是范围[l, r]的中点。

    95640发布于 2018-06-19
  • 来自专栏mathor

    二分查找与二分答案(1)

    我们就有效率更高的查找算法,叫做二分查找。 假如我们这时发现a[6]不是8,则说明8没有在这个数组里  二分查找又叫“折半查找”。 因为我们每进行一步,也就是查看一个元素的数值,都会使得后面需要检查的范围缩小一半  二分查找的时间复杂度是O(logN)的,换句话说,在长度为N的有序数组中查找一个数,查看元素的次数最多是logN+1 当N很大时,二分查找的速度比顺序查找快非常多倍 #include<iostream> using namespace std; int n,x,a[1000000]; int binary_search

    91551发布于 2018-06-13
  • 来自专栏mathor

    二分查找与二分答案(4)

    ,不过这个二分的思路不容易想到。 既然cnt(x)是递增函数,我们就可以用二分查找的算法,找到一个x满足cnt(x) 等于K。这里的K就是题目里我们求第K小分数的K。 ,这样到底要二分多少次?   考虑到题目的范围,二分的次数大概是log(P^2)=2log(P)次,其中P是Pi的最大值。因为P1和P2是其中最大的两个质数,那么任意两个分数的差不会小于1/(P1×P2)。 所以在我们二分的过程中,误差(也就是r-l差)在缩小到1/(P1×P2)之前就一定找到满足条件的m了。

    869100发布于 2018-06-19
  • 来自专栏mathor

    二分查找与二分答案(2)

    溢出风险  我们首先回顾一下上一次二分算法的代码 #include<iostream> using namespace std; int n,x,a[1000000]; int binary_search 都没有超出int的范围,但是计算m时,l+r就超过int范围了,导致m计算错误,整个算法挂掉  解决办法很简单,改成m=l+(r-l)/2,这样就不会有溢出的风险了 其他问题  我们解决了最简单的二分查找问题 my_lower_bound()函数  首先函数my_lower_bound(int a[],int n,int x)的参数分别是数组a,数组a的长度,带查找的元素x,而这个函数的实现,其实稍微改一下我们之前的二分查找代码即可

    93140发布于 2018-06-19
  • 来自专栏博客迁移同步

    关于二分查找和二分搜索

    首先是二分查找,举个有序的整数数组例子(二分查找和搜索都是针对有序数组) public int rank(int key, int n) { int lo = 0, hi = n - 假如lo=5,我查找一遍,就知道他前面有5个元素,即我这次要插入的元素下标就为5(从0开始计算) 下面讲一下二分搜索 比如从有序数组中查找某个数值 lower_bound 给定长度为n的单调不下降数列 an-1<109    0≤k≤109    输入    n = 5    a = {2, 3, 3, 5, 6}    k = 3   输出     1(其中a0<3, a1>=3)   这里不仅仅是二分查找了 } 比如a[5]={2, 3, 3, 5, 6} a[2]=3和3进行比较,可以知道解不大于2 a[1]=3和3比较,可以知道解不大于1 a[0]=2和3比较,可以知道解不小于0 所以解为1 二分搜索法是通过不断缩小解的可能存在的范围

    41820编辑于 2023-05-06
  • 来自专栏刷题笔记

    【PAT520 钻石争霸赛】7-6 随机输一次 (20分)

    现要求你编写一个控制赢面的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方意识到你在控制结果,你需要隔 K 次输一次,其中 K 是系统设定的随机数。

    56110发布于 2020-06-23
  • 来自专栏ReganYue's Blog

    【PTA】7-6 求最大公约数 (40point(s))

    求两个整数的最大公约数。 输入格式: 输入两个整数,以空格分隔。 输出格式: 输出最大公约数。 输入样例: 9 18 输出样例: 9 # include # include int gys(int a,int b){ if(a<b){ int temp=a; a=b; b=temp; } while(b!=0){ int i=a%b; a=b; b=i; } return a; } int main(){ int a,b; scanf("%d %d",&a,&b

    82330发布于 2021-09-16
  • 来自专栏X

    Leetcode|基本二分搜索+左侧边界二分+右侧边界二分

    文章目录 1 基本二分搜索 2 左侧边界二分 3 右侧边界二分 4 总结 致谢 1 基本二分搜索 【区间】:[left, right] 【终止条件】:left = right + 1 int binarySearch + 1; else if (nums[mid] > target) right = mid - 1; } return -1; } 2 左侧边界二分 【区间】:[left, right) 【终止条件】:left = right /**寻找左侧边界的二分搜索**/ int leftBound(vector<int>& nums, int target left : -1; } 3 右侧边界二分 【区间】:[left, right) 【注意】:最后是mid = left - 1 【终止条件】:left = right /**寻找右侧边界的二分搜索**/

    2.1K20发布于 2021-09-18
  • 来自专栏爱撸猫的杰

    二分查找

    description: * @author: Jay * @create: 2020-09-21 19:17 **/ public class TwoSearch { /** * 不使用递归的二分查找

    51820发布于 2020-09-22
  • 来自专栏开源优测

    二分查找

    概述 在上文《二分查找》中,我们了解了二分查找基本实现原理和具体的实现算法。 但大家有没有发现,如果目标查找值,如果在查找序列中存在多个,则查找返回的索引值,会有所变化。 那下面我们试着利用二分查找实现以下功能: 查找目标值在序列中第一次出现时的索引 查找目标值在序列中最后一次出现时的索引 例如,有序列如下: seq = [1, 2, 3, 4, 5, 5, 5, 5, 6, 7, 8] 我们查找目标值: 5 第一次出现在索引为:4 的位置 最后一次出现在索引为:7 的位置 下面我们对二分查找算法进行策略改造升级为: # 用于实现二分查找第一次出现的算法 first_binary_search (seq, query) # 用于实现二分查找最后一次出现的算法 last__binary_search(seq, query) 代码实现 first优先策略算法实现 # -*- coding:utf -8 -*- __author__ = '苦叶子' # first二分查找算法 # seq 待查序列 # query 要查找的目标 def first_binary_search(seq, query

    87050发布于 2018-04-09
  • 来自专栏赵俊的Java专栏

    二分查找

    样例 在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找 3,返回 2。 ] == target) { return end; } return -1; } } 原题地址 LintCode:二分查找

    46310发布于 2018-06-04
领券