
算法
文章平均质量分 72
算法经验分享,努力用简单的语言表达出复杂的算法。
code华奇
万事无他,唯手熟尔。
展开
-
最长连续序列代码中的细节解读
给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。原题地址:https://leetcode.cn/problems/longest-consecutive-sequence/description/?解题说明官方说的很清楚了,我这里只对代码中的细节做一下笔记。原创 2023-12-04 21:40:23 · 972 阅读 · 0 评论 -
异或运算(只出现一次的数字)
位运算(只出现一次的数字)(leetcode刷题总结)文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言很早就学过位运算,但一直没用应用过,本题使用了异或运算相关性质。一、题目示例只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,...原创 2021-03-16 19:53:34 · 709 阅读 · 0 评论 -
图书管理:双重哈希hash + 数组模拟邻接表、双重哈希hash +multimap,BKDRhash+multimap
哈希表一、概述 哈希算法是通过哈希函数,将一种数据转化为能够用变量或数组下标表示的数,通过哈希函数转化得到的值,称之为哈希值。哈希表的查找时间几乎是常数时间,哈希函数是决定哈希表查找效率的关键,本次就讲解其中之一的除余法。二、例题 通过图书管理这道题,让我们开始学...原创 2020-04-15 00:06:22 · 642 阅读 · 0 评论 -
生日蛋糕(深搜剪枝,讲解通俗易懂,还有个人手写笔记)
生日蛋糕解题思路: 有的时候,将题读懂,问题就解决一半了。 题中给出体积和层数,要求合理安排每一层的半径Ri、高度Hi,使得蛋糕的外表面积最小(最下层的底面除外),要求有:Hi > Hi+1且Ri>Ri+1(也就是说,蛋糕越往上越小)。...原创 2020-02-02 22:28:47 · 638 阅读 · 1 评论 -
数的划分(深搜剪枝+题解)
数的划分解题思路 本题的意思是将一个数n化解为k份,有几种不同的方案。例如k=3的时候,a+b+c=n,求a、b、c有几种不同的取值。为了避免出现重复,搜索的时候按照从大到小搜索。依次枚举a、b、c的值进行判断。 直接搜程序的运行速度是特...原创 2020-02-01 21:11:29 · 604 阅读 · 0 评论 -
深度优先搜索剪枝学习(通俗易懂,用自己的话理解概念)
一、前言 刚开始学习搜索算法的时候,它给我的感觉就是加了条件的枚举,特别暴力,将所有的情况列出来找答案。时间效率低到让人难以忍受。用深搜做题更是容易被卡时间,本期我们来学习一下剪枝技巧,对程序优化的一种基本方法,可以极大的提高时间效率。二、正文 1、什么是剪枝? 简单的来讲就是通过某种判断,避免一些不必要的遍历过程, 搜索过程可以看...原创 2020-01-31 22:17:54 · 663 阅读 · 0 评论 -
三分算法(曲线)
一、适用场景 三分算法适用于求解凸性函数的极值问题,二次函数就是一个典型的单峰函数。 二分利用的是函数的单调性,三分算法利用的是函数的单峰性。 在区间[l,r],令m1 = l + (r-l)/3, m2 = r - (r-l)/3,分别位于1/3、2/3处,接着计算这两个点的函数值, 如果f(m1...原创 2020-01-28 21:06:49 · 4275 阅读 · 0 评论 -
二分算法学习(愤怒的牛+解题思路)
一、适用范围 二分算法的基本用途是在单调序列或单调函数中做查找操作,因此问题的答案具有单调性的时候,我们就可以通过二分把求解转换为判定。 二分算法的思想是不断将待求解区间平均分成两份,根据求解区间中点的情况来确定目标元素所在的区间,这样就把解的范围缩小一半。二、代码实现1、整数二分:int erfen(int l,int r){ in...原创 2020-01-28 20:33:56 · 2417 阅读 · 0 评论 -
贪心算法(5.智力大冲浪+解题思路)
1、带期限和罚款的单位时间任务调度 智力大冲浪题目描述小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则:首先,比赛时间分为...原创 2020-01-23 22:51:08 · 2827 阅读 · 0 评论 -
贪心算法(4.加工生产调度(做题思路分析))
1、流水作业调度问题(解题思路在下边) 加工生产调度题目描述:某工厂收到了个产品的订单,这个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。某个产品在 A,B 两车间加工的时间...原创 2020-01-23 22:18:47 · 3043 阅读 · 0 评论 -
贪心算法学习(1.活动安排、2.种树(C\C++都适用))
一开始以为贪心算法很简单,“不就是从问题初始状态出发,依次选择最优选项吗”,后来发现真不简单。 贪心算法五个经典应用:1、选择不相交区间问题(例题:活动安排)题意: 给定n个开区间(a,b),选择尽量多个区间,使得这些区间两两没有公共点。做法: 将右端点从小到大排序,然后依次考虑每一个区间,如果后一个区间和前一个区间重合,不选。 例...原创 2020-01-20 21:10:30 · 930 阅读 · 0 评论 -
贪心算法学习(3.喷水装置+解题思维)
1、区间覆盖问题(喷水装置) 喷水装置这道题,将每个圆形区域,抽象成一个覆盖在草地上的矩形区域,选择一个最少的数量,使得喷洒面积刚好能够覆盖草地。(如红线部分) 将所有区域按照左端点从大到小排序,依次处理每个区间,每次选择下一个区间的时候,要求选择能够覆盖当前区间的右端,并且保证下一个区间的右端是最大的,更新坐标,查找下一个。 这道题需要一些抽象思维,特别是选择区间...原创 2020-01-20 22:29:45 · 661 阅读 · 0 评论