E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法笔记Codeup刷题记录
《
算法笔记
》贪心算法
目录理论知识开区间贪心问题闭区间贪心问题理论知识贪心是用来解决一类最优化问题,并希望由局部最优策略来推得全局最优结果的算法思想;贪心算法适用的问题一定满足最优子结构问题,即一个问题的最优解可以由他的子问题的最优解有效的构造出来。开区间贪心问题每次选取最晚的开始时间或者每次选取最早的结束时间#include#include#includeusingnamespacestd;structIntevel
遇到坎就得迈过去
·
2022-02-28 07:15
#
《算法笔记》胡凡
算法笔记
贪心算法练习题(3)
算法笔记
贪心算法练习题(3)Withhighwaysavailable,drivingacarfromHangzhoutoanyothercityiseasy.Butsincethetankcapacityofacarislimited
KAZIMIYA
·
2022-02-28 07:14
小菜鸡学算法
算法
贪心
算法笔记
贪心算法练习题(1)
算法笔记
贪心算法练习题(1)贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
KAZIMIYA
·
2022-02-28 07:13
小菜鸡学算法
算法
贪心
算法笔记
区间贪心
#define_CRT_SECURE_NO_WARNINGS#include#includeusingnamespacestd;structzuobiao{intx;inty;}zuo[100];boolcmp(zuobiaox,zuobiaoy){if(x.x!=y.x){returnx.x>y.x;}else{returnx.y
天光渐寒
·
2022-02-28 07:12
算法
贪心算法
算法笔记
-贪心算法
贪心算法其实更准确的表述应该是一种算法思想。它的应用非常广泛,比如:霍夫曼编码,Prim,Kruskal最小生成树以及Dijkstra单源最短路径算法。如果证明贪心算法的可行性需要复杂的数学推导,但是通过简单的举例演示更容易让我们理解这种算法思想,有助于我们在实际中运用。理解“贪心算法”如果有一个100kg的袋子,只允许装5种豆子,如何合理的在装满袋子的前提下,让袋子的总价值最大。豆子的质量以及价
黑子.
·
2022-02-28 07:12
算法入门
贪心算法
最小生成树
贪心思想
贪心
算法笔记
4.4 贪心 区间贪心
贪心分治动规区别1.简单贪心PATB1020月饼PATB1023组个最小数2.区间贪心给出N个开区间(x,y),从中选择尽可能多的开区间,使得这些开区间两两之间没有交集例如:(1,3)、(2,4)、(3,5)、(6,7)最多选3个:(1,3),(3,5)、(6,7)贪心算法思想:基础两点:a.优先选择短的区间b.如果存在一个区间包含另一个区间,应选择更小的区间.算法(左端点为例)1、对区间左端点进
奇迹是执着的人创造的
·
2022-02-28 07:42
算法竞赛
算法笔记
算法笔记
贪心
算法入门之贪心
算法笔记
(一)从现金找零理解什么是贪心思想在以前移动支付不是很普及的时代,找零几乎天天伴随着我们的生活。假设你去商店买东西,需花费11元,而你是个小富翁,口袋里只有百元毛爷爷。售货员找零应该怎么找呢?找89张1元多好,都说不能把鸡蛋放在同一个篮子里嘛-.-。开个玩笑,售货员会先找一张50元,然后是一张20元,10元,5元,最后是4张1元,搞定。那为什么不找89张1元呢,那多费劲啊,找费劲,拿也费劲,虽说钱
不可能我吊哥天下无敌
·
2022-02-28 07:40
贪心算法
算法
c++
ACM
算法笔记
(五)贪心算法
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。贪心算法的局部最优解:在当前子结构中,方案1是最优的解,通过方案1可以得到此子结构的最优化的解,此结构称为最优子结构。由部分最优推到全体最优。ps:贪心算法得到的解不一定是最优的解(这里
筱雨丶Colicsin
·
2022-02-28 07:09
ACM
算法
贪心算法
动态规划
算法笔记
贪心算法 出租车费
题目要求思路先来分析三种情况n价格n=818+2.4*(n-8)其中,在n>=8的情况下,假如8=8的情况,先吧8的部分进行计算,持续n-8,直到最后剩下的部分小于8如果剩下部分大于4,选取类似12intmain(){floatn=0;while(scanf("%f",&n)&&n!=0){intin=(int)n;doublerent=0;if(n-in!=0)in=in+1;if(n4&&n=
热爱Data的直男熙哥
·
2022-02-28 07:38
Code
Up
算法笔记
贪心算法 看电视
题目描述题目分析:本题使用区间贪心算法,在得到时刻表之后先比较节目结束时间,再比较开始时间。如果先比较开始时间未达到贪心目的,因为开始时间早并不代表结束时间早,但结束时间早开始时间大概率会早。贪心算法代码#include#include#includeusingnamespacestd;structTV{intstartime=0;intendtime=0;}programs[105];boolc
热爱Data的直男熙哥
·
2022-02-28 07:38
Code
Up
【
算法笔记
】贪心算法
前言:对于贪心算法的学习主要以增加阅历和经验为主,也就是多做多积累经验,以下通过几个题目来介绍贪心算法的乐趣!文章目录1.贪心算法基本介绍2.题目题一:给定一个由字符串组成的数组strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中,字典序最小的结果题二:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。给你每一个项目的开始时间和结束时间,你来安排宣讲的日程,要求会议室进行的
吞吞吐吐大魔王
·
2022-02-28 07:37
算法笔记
贪心算法
算法
LeetCode
刷题记录
---剑指Offer II
每次刷到剑指OfferII相关题将在此博文更新~~~题目:难度题目简单剑指OfferII001.整数除法简单剑指OfferII002.二进制加法⭐剑指OfferII001.整数除法:正数最大是231-1,因为32为符号位,即0x7fffffff。负数最小为-231,因为0x11111111补码为10000001。classSolution:defdivide(self,a:int,b:int)->
#苦行僧
·
2022-02-26 11:14
算法与数据结构
leetcode
剑指offer
算法笔记
(一)——KMP算法
目录暴力匹配(BF)算法基本概念分析BF算法代码实现牛刀小试BF算法的时间复杂度KMP算法基本概念分析KMP算法引出next数组代码实现关键代码讲解牛刀小试KMP算法的时间复杂度暴力匹配(BF)算法基本概念BF算法,即暴力(BruteForce)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串的第一个字符进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相
skeet follower
·
2022-02-26 11:09
#
算法笔记
算法
图的深度遍历(C语言)邻接矩阵表示
以上图为例讨论图(图片来自《
算法笔记
》)的深度遍历:设图形的顶点数为n。
爱吃土豆的小菜狗
·
2022-02-25 12:00
算法笔记
:快排算法与归并排序
快排算法与归并算法时间复杂度都是O(nlogn)的排序算法。适合大规模的数据排序。思想利用的是分治思想。归并排序原理原理:排序一个数组,把数组从中间分为两部分,然后对前后两部分进行分别排序。最后把排序好的两部分都合并在一起,在合并的时候也会进行排序。就是排序好的数据摘自极客时间合并:在合并的过程中会申请一个临时数组空间,然后把两个排序号的数组进行取值对比,哪个小放入到临时数组中。思路:两个数组数据
胖琪的升级之路
·
2022-02-22 08:24
算法笔记
-背包
背包是一种不支持从中删除元素的集合数据类型。就像是一只貔貅,只进不出。也可以说是像张伟。背包上的操作背包的API:/*publicclassBagimplementsIterableBag()创建一个空背包voidadd(Itemitem)添加一个元素booleanisEmpty()背包是否为空intsize()背包中的元素数量*/通过API我们知道,我们能够迭代背包中的元素,向背包中添加元素,检
不可思议的Mark
·
2022-02-21 21:30
[003] [LeetCode
刷题记录
] 232-用栈实现队列
LeetCode
刷题记录
题目描述解题思路及代码C语言实现C++语言实现Python3语言实现1题目描述LeetCode原题链接:232.用栈实现队列请你仅使用两个栈实现先入先出队列。
柯西的彷徨
·
2022-02-20 11:10
数据结构与算法
leetcode
算法
职场和发展
启发式
算法笔记
01_随机算法(Randomised Algorithms)
本篇为在UniversityofBirmingham学习AdvancedNature-InspiredSearchandOptimisation课程中的笔记之一ThisisoneofthenotesfromtheAdvancedNature-InspiredSearchandOptimisationcourseattheUniversityofBirmingham[toc]1问题引出——螺栓螺母的
Evan郭一凡
·
2022-02-20 04:35
数据结构与
算法笔记
day19:递归树|堆|堆排序|堆的应用
1递归树这节课我们用递归树分析了递归代码的时间复杂度,之前我们在排序那一节也讲过递推公式的时间复杂度分析方法,现在已经学习了两种递归代码的时间复杂度分析方法啦。我们把递归的一层一层的分解过程画成图,就是一棵树,它就是递归树。如下图:计算时间复杂度的方法是,知道这棵树的高度h,用高度h乘以每一层的时间消耗n,就可以得到总的时间复杂度O(n*h)。归并排序的时间复杂度、快速排序的最好情况时间复杂度适合
楠楠喜欢泡枸杞
·
2022-02-18 14:55
云原生 02 :阿里云云效 Flow 流水线
一、利用云效Flow拉取代码关于怎么开通云效以及
CodeUp
和Flow看官方文档吧。
·
2022-02-16 23:55
leetcode
刷题记录
(1)
第一题Givenalinkedlist,determineifithasacycleinit.Followup:Canyousolveitwithoutusingextraspace?/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){
球球球球笨
·
2022-02-16 21:45
LeetCode 每日
刷题记录
[ 2022 - 02 - 15 ]
反转字符串II模拟+组合API直接模拟操作,使用组合API对字符串进行反转/***@param{string}s*@param{number}k*@return{string}*/varreverseStr=function(s,k){constlength=s.length;letnewStr='';leti=2*k;for(;i=k)newStr+=s.slice(i,i+k).split('
·
2022-02-16 18:04
积少成多
LeetCode
刷题记录
一口吃不成胖子,做任何事情都是积少成多。书可以慢慢读,题可以慢慢刷,字可以慢慢写,但不要停止,踏踏实实的走每一步路。不急不躁,认准了方向,做就好了!亦不要受他人影响,坚持自己!
琰言
·
2022-02-15 15:18
Paxos
算法笔记
本文更接近复习笔记,侧重BasicPaxos的整体把握和实现(Go语言)。系统学习建议继续阅读相关论文[1]和wiki[2]。解决的问题假设servergroup中有N个server,每个都可以处理client发来的请求,但要求这个group对外表现一致——即在所有client看来都像是只有一个server。因此,任何一个server只有在确定知晓自己的状态与其他(大部分)server相同时才会处
HaoR_W
·
2022-02-15 09:24
LetCode
刷题记录
--反转整数
1.题目给定一个32位有符号整数,将整数中的数字进行反转。示例1:输入:123输出:321示例2:输入:-123输出:-321示例3:输入:120输出:21注意:假设我们的环境只能存储32位有符号整数,其数值范围是[−2^31,2^31−1]。根据这个假设,如果反转后的整数溢出,则返回0。2.解法回文类型的算法题还是很多的,这种JavaScript一般是要用到数组解决。
魏永_Owen_Wei
·
2022-02-13 08:56
算法笔记
- streap
Streap是一种简单的平衡树实现主要操作只用左旋和右旋它同时也是一个堆的结构概率分布是一个非常有趣的东西,这是我第一个接触到的,通过随机来维护的数据结构(利用随机来退伙或者避免局部最优不算利用随机值,避免了大量的深度的维护,减少了代码的实现复杂度时间复杂度是不会被刻意制造的数据导致退化的,和spaly和快排不一样堆是一个非常优雅的算法,但是删除操作需要非常小心地维护和实现现在使用高级算法实现的时
袁旭程
·
2022-02-10 17:58
数据结构与
算法笔记
day15:散列表(上)
1散列思想散列表的英文叫“HashTable”,所以也阔以叫它“哈希表”或者“Hash表”。散列表用的是数组支持按照下标随机访问数据的特性,所以说散列表就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。举个例子,我们有100位学生参加运动会,它们的编号依次是1-100,我们希望实现通过编号快速找到对应的选手信息的功能。我们就可以把它们存在数组里,数组下标为1的位置存放编号为1
楠楠喜欢泡枸杞
·
2022-02-09 09:20
2020-3-1
刷题记录
前言:每天写这个的目的就是能够每天回忆一遍今天做过的题,如果哪里需要总结的单独拿出来0X00leetcode做了5道leetcode323.NumberofConnectedComponentsinanUndirectedGraphleetcode300.LongestIncreasingSubsequenceleetcode261.GraphValidTreeleetcode200.Number
madao756
·
2022-02-07 17:28
leetcode
刷题记录
---19.9.28 颜色分类三指针,买卖股票模板dp
1.颜色分类题目描述:0,1,2分别代表红色,白色,蓝色。给定一个数组是由这三种颜色组成要求给这个数组排好序(红白蓝),不能使用库函数sort。示例:输入:[2,0,2,1,1,0]输出:[0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1和2元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间的一趟扫描算法吗?思路:荷兰
pku_yw
·
2022-02-07 07:52
刷题
数据结构与
算法笔记
day20:图的表示|深度和广度优先搜索|字符串匹配基础
1图的表示这节课学习了图这种非线性表数据结构,关于图,我们需要理解这样几个概念:无向图、有向图、带权图、定点、边、度、入度、出度。除此之外,我们还学习了图的两个主要的存储方式:邻接矩阵和邻接表。邻接矩阵存储方法的缺点是比较浪费空间,但是优点是查询效率高,而且方便矩阵运算。邻接表存储方法中每个顶点都对应一个链表,存储与其相连接的其他顶点。尽管邻接表的存储方式比较节省存储空间,但链表不方便查找,所以查
楠楠喜欢泡枸杞
·
2022-02-06 09:13
算法笔记
(1)| 排序
1.简单选择排序voidselectSort(){for(inti=0;i0&&t#inclueusingnamespacestd;boolcmp(inta,intb){returna
yzbkaka
·
2022-02-06 02:24
常见搜索算法(一):深度优先和广度优先搜索
比如二分查找,贪心算法等搜索算法,在
算法笔记
:树、堆和图中,提到了对图和二叉树的搜索算法:深度优先搜索(DFS)和广度优先搜索(BFS),如果知道起点和终点状态的情况下,还可以使用双向BFS。
测试开发小记
·
2022-02-05 17:03
算法
#
Python笔记
算法
DFS
BFS
算法笔记
上机训练实战指南pdf_【目标识别】yolo3_keras_Logo识别&训练自己数据...
向AI转型的程序员都关注了这个号???机器学习AI算法工程公众号:datayx快速开始1.下载本项目预训练权重权重1链接:https://pan.baidu.com/s/1sanx0wELCMmektdHNHxkhQ密码:6rzz权重2链接:https://pan.baidu.com/s/1N9cTopyEcB-sqdw-FLs4Rw密码:5cij2.修改yolo.py中第24行权重路径3.将需要
weixin_39789499
·
2022-02-04 17:38
算法笔记上机训练实战指南pdf
数据结构与
算法笔记
(三)—— 链表(单链表、循环链表、双向链表)
一、前沿1.1、为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。1.2、链表定义链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。二、单向
别呀
·
2022-02-04 16:25
Python系列
#
数据结构与算法(python)
链表
数据结构
算法
数据结构与
算法笔记
(二)—— 顺序表
一、顺序表的形式在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽
别呀
·
2022-02-04 16:25
Python系列
#
数据结构与算法(python)
数据结构
链表
【
算法笔记
】递归树应用实例:计算归并排序平均时间复杂度
递归树递归树是迭代的图形表示,可用于求解递推方程。例1:利用递归树计算归并排序的平均时间复杂度。归并排序伪代码:MergeSort(A,p,r){if(p
w8ed
·
2022-02-03 09:32
小白也能看懂的
算法笔记
:给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个(单调栈)
问题描述题目如下:给定一个数组序列,需要求选出一个区间,使得该区间是所有区间中经过如下计算的值最大的一个:区间中的最小数*区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列[621]则根据上述公式,可得到所有可以选定各个区间的计算值:从上述计算可见选定区间[6],计算值为36,则程序输出为36。区间内的所有数字都在[0,100]的范围内;[6]=6*6=36;[2]
精致的螺旋线
·
2022-02-03 08:15
VS Code 2022路线图:大量Spring Boot优化提上日程!难道是被JB Code吓到了?
1月20日,一名微软开发者发布了一篇标题为《JavaonVisualStudio
CodeUp
date》的文章。文中介绍了VSCode2021年的亮点,同时还透露了VSCode2022年的最新路线图。
·
2022-01-28 14:41
java后端
VS Code 2022路线图:大量Spring Boot优化提上日程!难道是被JB Code吓到了?
1月20日,一名微软开发者发布了一篇标题为《JavaonVisualStudio
CodeUp
date》的文章。文中介绍了VSCode2021年的亮点,同时还透露了VSCode2022年的最新路线图。
·
2022-01-24 14:28
java后端
LeetCode334递增的三元子序列:LIS问题 & 动态规划 & 贪心 & 二分
前言大家好,我是新人博主:「个人主页」主要分享程序员生活、编程技术、以及每日的LeetCode
刷题记录
,欢迎大家关注我,一起学习交流,谢谢!
Chthollists
·
2022-01-18 14:33
归并排序的扩展问题
归并排序的扩展:(左神
算法笔记
)小和问题在一组数组中,每一个数左边比当前数小的数累加起来,叫作这个数组的小和。求一个数组的小和。
·
2022-01-18 10:02
算法java归并
LeetCode373查找和最小的K对数字:TopK问题:「小根堆 & 多路归并」 |「二分 & 滑动窗口」
前言大家好,我是新人博主:「个人主页」主要分享程序员生活、编程技术、以及每日的LeetCode
刷题记录
,欢迎大家关注我,一起学习交流,谢谢!
Chthollists
·
2022-01-15 19:10
小白也能看懂的
算法笔记
:Leetcode.689 三个无重叠子数组的最大和(滑动窗口)
难度:困难给你一个整数数组nums和一个整数k,找出三个长度为k、互不重叠、且3*k项的和最大的子数组,并返回这三个子数组。以下标的数组形式返回结果,数组中的每一项分别指示每个子数组的起始位置(下标从0开始)。如果有多个结果,返回字典序最小的一个。示例1:输入:nums=[1,2,1,2,6,7,5,1],k=2输出:[0,3,5]解释:子数组[1,2],[2,6],[7,5]对应的起始下标为[0
精致的螺旋线
·
2021-12-13 15:09
力扣
刷题记录
-题1
前言毕业多年,却从来没有刷过算法题,一直在无所事事虚度光阴,在被公司卷完之后,我决定痛定思痛,开启刷题计划。努力不会白费,什么时候开始都不晚。第一天废话稍多,希望自己能够坚持下去。刷题计划第一天,进度正常,OVER。
·
2021-12-09 22:55
力扣数组二分查找
算法笔记
-经典模板
BFS模板voidBFS(ints){queueq;q.push(s);while(!q.empty()){取出队首元素front;访问队首元素front;将队首元素出队;将front的下一层结点中未曾入队的结点全部入队,并设置已入队}}DFS模板递归priority_queue的cmp函数模板:structfruit{stringname;intprice;}structcmp{booloper
·
2021-12-07 19:52
c++数据结构算法
阿里云Code已升级为新版
Codeup
,更大容量、更多功能还免费的新版
Codeup
真香
阿里云Code(https://code.aliyun.com/)已经升级为新版代码管理平台
Codeup
,更大容量、更高性能、更多功能的新版
Codeup
更适合企业开发者使用。
·
2021-12-06 11:02
阿里云code代码优化云平台
算法笔记
-STL以及常见问题
vectorvectorname函数功能时间复杂度push_back(x)在vector后面添加一个元素O(1)pop_back()删除vector的尾元素O(1)size()获得vector的元素个数O(1)clear()清空vector中的所有元素O(N),N为vector元素个数insert(it,x)向vector的任意迭代器it处插入一个元素xO(N)erase(it)删除迭代器it处的
·
2021-12-05 21:27
c++stl
算法笔记
-零碎知识点
10^n为n+1位数:1000为10^3读入double型变量的语法:doublea;scanf("%lf",&a);输出double型变量的语法:printf("%f",a);或者printf("%.2f",a);初始化字符数组的方法:charstr[100]="123a";//注释中为错误写法//charstr[100];//str="123a";//注释中为错误写法//charstr[100
·
2021-12-05 21:26
c++数据结构
算法笔记
-深度优先搜索
“让右手始终贴着右边的墙壁走”推荐使用递归实现DFS,使用递归的时候系统会调用系统栈,因此用递归来实现DFS的本质还是栈vector常用函数:函数功能时间复杂度push_back(x)在vector后面添加一个元素O(1)pop_back()删除vector的尾元素O(1)size()获得vector的元素个数O(1)clear()清空vector中的所有元素O(N),N为vector元素个数in
·
2021-12-05 21:26
c++数据结构
算法笔记
错误-链表篇
for(inti=first;i!=-1;i=link[i].next){link[i].flag=true;}上述代码中,i只有在for循环内有效,出了for循环,就无效了
·
2021-12-05 20:25
c++数据结构
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他