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
牛客网算法笔记
左神数据结构与
算法笔记
-----归并排序
归并排序算法介绍原理分析代码复杂度分析例题及题解一、算法介绍归并排序(Mergesort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。二、原理分析我们有一个方法f(int[]arr,intL,intR]他能将数组arr的L到R范围内变为有序数组假设一个数组:arr[5,2,3,6,
Ben~
·
2024-01-21 13:57
java
算法
数据结构
排序算法
数据结构和
算法笔记
4:排序算法-归并排序
归并排序算法完全遵循分治模式。直观上其操作如下:分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列。解决:使用归并排序递归地排序两个子序列。合并:合并两个已排序的子序列以产生已排序的答案。我们直接来看例子理解算法的过程,下面是要排序的数组,总共8个元素,我们划分为左右两个数组L和R(L和R都已经是有序的),L是原数组左边4个元素,R是原数组右边4个元素,为了让排序终止,两个数组的末尾加
小林up
·
2024-01-21 13:55
算法和数据结构
算法
排序算法
数据结构
归并
C语言练习day6
关于
牛客网
运行超时的问题[NOIP2008]ISBN号码_牛客题霸_
牛客网
题目思路:这个题目重点在怎么去把这个ISBN号码正确输入,其实这个题目已经提示了我们一点信息:输入描述里说,是一个字符序列,其实我们就可以把这个
我要学编程(ಥ_ಥ)
·
2024-01-21 10:32
C语言
c语言
C语言练习day7
数包含9的数包含数字9的数_牛客题霸_
牛客网
题目:思路:首先,我们得生成1~2019之间的数字,其次再通过各个位数来比较是否等于9,若等于,则记录一次,反之,不记录。
我要学编程(ಥ_ಥ)
·
2024-01-21 10:32
C语言
c语言
C语言练习day5
abs函数(绝对值函数)牛牛的金币_牛客题霸_
牛客网
题目:思路:这个题目其实是比较简单的,我们只要需要通过输出来反推输入就行了。
我要学编程(ಥ_ಥ)
·
2024-01-21 10:31
C语言
c语言
C语言练习day4
遍历数组求最值统计成绩_牛客题霸_
牛客网
题目:思路:先要输入科目个数和成绩,这个我们可以创建一个数组来储存这些成绩(毕竟都是一类数据),用for循环来输入数据,其实这里我们在输入数据的同时,可以来算这几科的总成绩
我要学编程(ಥ_ಥ)
·
2024-01-21 10:01
C语言
c语言
开发语言
C语言练习day8
变种水仙花变种水仙花_牛客题霸_
牛客网
题目:思路:我们拿到题目的第一步可以先看一看题目给的例子,1461这个数被从中间拆成了两部分:1和461,14和61,146和1,不知道看到这大家有没有觉得很熟悉的样子
我要学编程(ಥ_ಥ)
·
2024-01-21 10:59
C语言
c语言
《
算法笔记
》9.8 哈夫曼树
9.8哈夫曼树9.8.1哈夫曼树先介绍经典的合并果子问题。有n堆果子,每堆果子的质量已知,现在需要把这些果子合并成一堆,但是每次只能把两堆果子合并到一起,同时会消耗与两堆果子质量之和等值的体力。显然,在进行n-1次合并之后,就只剩下一堆了。为了尽可能节省体力,请设计出合并的次序方案,使得耗费的体力最少,并给出消耗的体力值。例如有3堆果子,质量依次为1、2、9,那么可以先将质量为1和2的果堆合并,新
pumpkin9841
·
2024-01-21 03:10
算法笔记
算法
数据结构
霍夫曼树
c++
后端
算法笔记
(动态规划入门题)
1.找零钱intcoinChange(int*coins,intcoinsSize,intamount){intdp[amount+1];memset(dp,-1,sizeof(dp));dp[0]=0;for(inti=1;idp[i-coins[j]]+1)dp[i]=dp[i-coins[j]]+1;returndp[amount];}2.有奖问答#includeusingnamespace
理想是做全栈工程师
·
2024-01-20 17:54
算法(c语言版)
算法
笔记
动态规划
2024年华为OD机考高分攻略-完整题库-两周350分
我是一名软件培训老师,我的学生有上百人顺利通过了华为OD机考,并取得了高分,我将经验分享给大家,华为OD机试2周350分,高效复习策略:1、
牛客网
刷基础算法题,每个算法都了解一下,用一周时间:华为机试这是算法的基础
2023面试高手
·
2024-01-20 05:57
华为OD机试题库2024年
华为od
开发语言
python
算法
【
牛客网
华为机试】HJ10 字符个数统计
题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。输入描述:输入一行没有空格的字符串。输出描述:输出输入字符串中范围在(0~127,包括0和127)字符的种数。示例1输入:abc输出:3解题
202xxx
·
2024-01-20 01:08
链表中倒数最后k个结点
链表中倒数最后k个结点链表中倒数最后k个结点_牛客题霸_
牛客网
输入一个长度为n的链表,设链表中的元素的值为ai,返回该链表中倒数第k个节点。。
铁蛋Q
·
2024-01-20 00:08
链表
数据结构
c语言
数据结构与
算法笔记
01——递归
数据结构与
算法笔记
01——递归递归递:一个问题拆解为多个相同的子问题,子问题继续拆解至无法拆解归:从无法拆解的子问题出发回到最初的问题满足三个条件就可以使用递归来解决一个问题的解可以分解为几个子问题的解问题与分解的子问题
等风来随风飘
·
2024-01-18 22:16
数据结构与算法
笔记
算法
【
牛客网
华为机试】HJ2 计算某字母出现次数
题目描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。输出描述:输出输入字符串中含有该字符的个数。示例1输入:ABCabcA复制输出:2复制说明:最后一个单词为nowcoder,长度为8解题思路统一用upper函数将输入的in_
202xxx
·
2024-01-18 08:47
2021-10-21
IT1.
牛客网
:把二叉树打印成多行2021-10-21(JZ78把二叉树打印成多行)英语1.墨墨背单词:复习50个单词
幸福大黑鸭
·
2024-01-18 06:11
C++从零开始的打怪升级之路(day13)
如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天学了一些基础的string的函数,刷了一些题,等string学完了再总结语法,函数1.把字符串转换成整数把字符串转换成整数_牛客题霸_
牛客网
将一个字符串转换成一个整数
云淡风轻kk
·
2024-01-18 01:27
c++
开发语言
牛客网
【Python专项练习】错题笔记
2021.09.20练习记录1、已知a=[1,2,3]和b=[1,2,4],那么id(a[1])==id(b[1])的执行结果()ATrueBFalse解析:答案选A。Python为了提高内存利用效率会对一些简单的对象(如数值较小的int对象,字符串等)采取重用内存地址的方法。所以Python中有一个小整数对象池,范围为[-5,256]。对于在这个范围内的整数,不会新建对象,直接从小整数池中取。2
早知晓
·
2024-01-17 21:36
Python
python
《
算法笔记
》学习 入门篇
目录《
算法笔记
》学习3.1简单模拟例1:【PATB1001】害死人不偿命的(3n+1)猜想例2:【PATB1032】挖掘机技术哪家强3.2查找元素例:【codeup1934B】找x3.3图形输出例:【PATB1036
awishw
·
2024-01-17 08:23
算法
算法
学习
数据结构
算法笔记
(LeetCode HOT 100)
双指针思路:如何判断一道算法题能不能用双指针做?问题类型:双指针法通常用于解决数组或链表类的问题,如查找、排序、去重等。如果题目要求解决的问题属于这些类型,那么可以考虑使用双指针法。有序性:双指针法通常适用于有序或部分有序的数组或链表。如果题目中的数据具有明显的有序性,那么可以考虑使用双指针法。重复元素:双指针法通常适用于存在重复元素的情况。如果题目中的数据存在重复元素,那么可以考虑使用双指针法。
艺成超爱牛肉爆大虾
·
2024-01-17 01:54
算法
1024程序员节
2024.1.13
然后我就开始刷leetcode,这题是真难啊,比
牛客网
上面的题难了不少,我也只会做那些相对基础的语法题,让我感到前途漫长——但是,人们为什么要攀登珠穆朗玛峰?因为它就在那,继续努力吧少年。
爱上语文
·
2024-01-17 00:48
c语言
算法笔记
》3.2小节——入门模拟->查找元素
@[TOC]Contest100000576-《
算法笔记
》3.2小节——入门模拟->查找元素1932ProblemA统计同成绩学生人数来自http://codeup.cn/problem.php?
木子李_0961
·
2024-01-17 00:39
关于集合中的线程安全问题
喂是指vector,S是指stack,H是指hashtable,E是指:Enumeration(转载自
牛客网
)线程安全的集合有:List接口下的:Vector、CopyOnWriteArrayList、
肆〇
·
2024-01-16 23:51
java
数据结构
集合
线程安全
多线程
集合
java
java
map
编程竞赛-消息存取
原题链接:登录—专业IT笔试面试备考平台_
牛客网
题目描述牛牛拥有一个消息队列,容量无限,为了检测其高效性,特意做了n
失落夏天
·
2024-01-16 22:03
编程题
算法
随笔——
算法笔记
(未整理)
以下为一些日常收集
算法笔记
,由于各种原因没有时间整理,暂且记录如下。程序设计心得:如果在进行设计某个函数时,没有思路,可以选择引入新的变量引入新的函数结合画图板整理思路。
我叫RT
·
2024-01-16 21:54
日常心得
算法
数据结构
大厂速成
算法笔记
,Github上已收获近60K+star!力压LeetCode只为面试
该文档的内容全部选自LeetCode和
牛客网
的原题,你只要按照文章顺序刷题,保你一个月速成算法。还在为动态规划系列问题发愁吗?书中给动态规划总结出了一套框架
Java旺
·
2024-01-16 21:59
数据结构和
算法笔记
#include#include#include#includeusingnamespacestd;//单调栈vectornextGreaterElement(vector&nums){vectorans;stacks;for(inti=nums.size()-1;i>=0;i--){while(!s.empty()&&s.top()data;public:voidpush(intn){while
daitu3201
·
2024-01-16 16:56
算法
笔记
数据结构
算法笔记
:根据年龄给100万用户排序
时间复杂度是线性的,这类排序算法叫做线性排序。三个算法是基于比较的排序算法,不设计元素之间的比较操作,所以能做到线性的时间复杂度。桶排序核心思想是将要排序的数据分到几个有序的桶内,每个桶内的数据进行单独排序,拍好之后把桶内的数据取出来,组成的序列就是有序的。时间复杂度是O(n).桶内部采用的是快速排序手段摘自极客时间首先桶排序要把数据进行划分到m个桶内,希望的是桶内数据是均匀的,并且桶与桶之间有着
胖琪的升级之路
·
2024-01-16 15:50
牛客网
-css继承属性
3.当元素的一个继承属性没有指定值时,则取父元素的同属性的计算值,以下哪些不是CSS中的继承属性?A.colorB.displayC.border-styleD.text-align答案:BC解析:不可继承:display,margin,border,padding,background,height,width,position(百度的)一、无继承性的属性1、display:规定元素应该生成的框
LxyingINGing
·
2024-01-16 08:11
牛客网面试题
html
前端
css
蓝桥杯备赛
大家感兴趣可以私信我给大家推荐一些回到正题,关于备赛大致路线,以下算是比较稳妥的方案:oj平台oj平台可参考洛谷:先做洛谷官方题单,当所有题刷完理解后再去刷蓝桥杯题学有余力还可看看acwing、力扣(偏面试)、
牛客网
之类的
松叶子吖
·
2024-01-16 05:06
蓝桥杯备赛
蓝桥杯
学习
笔记
c++
【
牛客网
】编程题:找到无序数组中最小的k个数(146)
[编程题]:找到无序数组中最小的k个数热度指数:2394时间限制:C/C++2秒,其他语言4秒空间限制:C/C++256M,其他语言512M算法知识视频讲解给定一个整型数组arr,找到其中最小的k个数。输入描述:输入包含两行,第一行包含两个整数n和k(1\leqk\leqn\leq10^5)(1≤k≤n≤105),代表数组arr的长度,第二行包含n个整数,代表数组arr(1\leqarr_i\le
KevinDuc
·
2024-01-16 01:05
算法
java
python
java
算法
C 语言每日一题——旋转数组的最小数字
一、题目内容提供一下该OJ题的链接:旋转数组的最小数字_牛客题霸_
牛客网
(nowcoder.com)二、题目分析通过示例1可知,我们写代码的目的是在数组中找到一个最大值,并且返回来;我们很容易的会想到创建一个变量
残风也想永存
·
2024-01-16 00:08
c语言
数据结构
算法
算法笔记
:排序
根据时间复杂度进行了区分:摘自极客时间分析排序算法从以下几个方面进行入手分析。排序算法的执行效率最好情况,最坏情况,平均情况时间复杂度。时间复杂度的系数,常数,低阶数据量小的时候,这些参数具有可参考性。比较次数和交换次数排序算法的内存损耗原地排序算法:空间复杂度是O(1)的排序算法。排序算法的稳定性待排序的序列中存在等值的元素,经过排序后想等元素之间原有的先后顺序不变。冒泡排序冒泡排序:只会操作相
胖琪的升级之路
·
2024-01-16 00:18
【打卡】
牛客网
:BM90 最小覆盖子串
题目:BM65最长公共子序列(二):找二者的相同部分,该部分对于二者可以不连续排列的(但是是有序的)。BM66最长公共子串找二者的相同部分,该部分对于二者是连续排列的。本题:BM90最小覆盖子串找s中包含t所有字符的部分,该部分对于s是连续排列的,对于t可以不连续排列(且可以没有顺序)。模板的:编程思想:采用滑动窗口法窗口有左右两个指针。找到一个符合条件(指包含t所有字符)的子串。固定左指针,右指
初霁i
·
2024-01-16 00:51
算法
【打卡】
牛客网
:BM91 反转字符串
自己写的:直接使用reverse()函数。classSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可**反转字符串*@paramstrstring字符串*@returnstring字符串*/stringsolve(stringstr){//writecodeherereverse(str.begin(),str.end());retu
初霁i
·
2024-01-16 00:51
java
开发语言
【打卡】
牛客网
:BM92 最长无重复子数组
题目:BM71最长上升子序列(一)BM73最长回文子串BM77最长的括号子串BM92最长无重复子数组最长系列问题,基本用动态规划。BM92,用滑动窗口。模板的:窗口扩大(右指针往右走)若出现重复元素,窗口缩小(左指针往右走),直到重复元素退出。综上,以保证窗口无重复元素、且最长。#includeclassSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返
初霁i
·
2024-01-16 00:51
数据结构
【打卡】
牛客网
:BM93 盛水最多的容器
题目:考虑到盛水容器的特殊性。双指针从最两边开始遍历,遍历过程中舍弃最小的。不知道原理。模板的:classSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramheightint整型vector*@returnint整型*/intmaxArea(vector&height){//writecodehereintn=heig
初霁i
·
2024-01-16 00:20
算法
【
算法笔记
】最长上升子序列dp模板
在acwing学习算法的一点思考和总结。模板求一组数中严格单调上升或下降的最长子序列长度状态表示:前i个数中最长上升或下降子序列长度状态转移方程:遍历前1~i-1个数(用指针j来扫描),比较第j个数和第i个数的大小,更新f[i]。#includeusingnamespacestd;constintN=1010;intw[N],f[N];intn;intmain(){cin>>n;for(inti=
Radein
·
2024-01-15 13:44
笔记
动态规划
算法
【
算法笔记
】状态压缩dp(noip)
在acwing学习算法的一点思考和总结状态压缩dp可以用来解决两种问题:一种是棋盘式的,也就是表示一行有2^N种摆法,另一种是表示一类集合状压——棋盘式思路:可以类比一下蒙德里安的梦想的解题过程,每一行的状态都只会受到上一层状态的影响。那么我们在更新第i行的状态时,我们枚举一下第i-1行的状态。也就是当这两行的对应状态是个合法状态的话,我们就进行方案数的累加。确定状态转移方程:f[i][a]+=f
Radein
·
2024-01-15 13:41
算法
笔记
c++
动态规划
【
牛客网
华为机试】HJ8 合并表记录
题目描述数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。输入描述:先输入键值对的个数然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入:401021234输出:031234解题思路(1)记录输入的key,value个数,赋值给num(2)新建空字典data_d
202xxx
·
2024-01-15 12:15
AcWing 算法基础课第三节基础算法3 双指针、位运算、离散化、区间合并
1、该系列为ACWing中算法基础课,已购买正版,课程作者为yxc2、y总培训真的是业界良心,大家有时间可以报一下3、为啥写在这儿,问就是oneNote的内存不够了QAQACwingC++
算法笔记
3基础算法一
雪团子
·
2024-01-15 12:36
算法基础
ACWing
C++
c++
算法
【打卡】
牛客网
:BM86 大数加法
题目分析:因为是大数,所以不能:将string转为int,进行相加后,再int转为string。而是直接模拟加法过程。我写的:一些细节:需要反转。因为字符串从左到右遍历,加法从右往左遍历。处理不同长度的字符串时,法一:短的字符串补充‘0’法二:相同位数先进行相加,再对长的字符串进行进位处理。(我采用)本题用到:int和char之间的转换:int转char,用char=int+'0'char转int
初霁i
·
2024-01-15 04:06
数据结构
【打卡】
牛客网
:BM87 合并两个有序的数组
思想:简单粗暴的方法是先合并、再排序。没有技术含量。此外,很容易想到是用归并方法。问题是对A[]从前往后赋值,会覆盖A[]中有用的数值。模板的巧妙之处是,从后往前赋值,完美避开覆盖问题。我看了模板的之后写的:把数组arr1赋值给数组arr2的方法:for循环逐个元素复制copy(arr1,arr1+n,arr2);arr2=arr1是不行的,因为此时arr2和arr1指向同一块内存区域,二者不是独
初霁i
·
2024-01-15 04:32
数据结构
【剑指offer】面试题06 - 从尾到头打印链表
题目链接:LeetCode
牛客网
解法一:使用栈数据结构思路:开一个STL中的栈数据结构从头开始遍历将链表节点入栈边出栈边将值保存进入vector数组中vectorprintListFromTailToHead
代码被吃掉了
·
2024-01-15 00:22
LeetCode题解
剑指offer
链表
从头到尾打印链表
数据结构
算法
判断两个字符串是否为变形词
链接:https://www.nowcoder.com/questionTerminal/b07c464a107e421ebbd2c82aebd42e39来源:
牛客网
给定两个字符串str1和str2,如果
雪上霜
·
2024-01-14 23:30
双亲委派机制[人话版]
本篇文章仅作为记录学习之用,不具有参考价值.如果您想系统学习,请移步最下方参考资料.介绍今天逛了一下
牛客网
,看到有面试问到了双亲委派机制是什么,tomcat有没有打破双亲委派,瞬间懵逼,听都没听过的名字
桌球新人
·
2024-01-14 20:33
jvm
【打卡】
牛客网
:BM82 买卖股票的最好时机(三)
模板的:该题与BM81的区别是,只能进行2次交易。dp第0行:都为0。dp第1行:进行第一次交易,该天持有股票的前提下,利益最大是多少。换言之,在该天或前些天,必须买股票。需要决定第0天~第i天哪一天买入。所以,分析第i天时第i天不操作,即与前一天的利润(dp[1][i-1])一样,表明在第0天~第i-1天中买;在第i天买,此时利润为买入股票的资产变化(-prices[i]),而且可以推断,第i天
初霁i
·
2024-01-14 20:15
动态规划
算法
【打卡】
牛客网
:BM84 最长公共前缀
自己写的:题目要求时间复杂度是o(n*len),说明可以遍历所有的字符。空间复杂度o(1),说明不能用字符串存储公共前缀,所以用下标来记录。调试过程:大概花了20min。我调试前的做法是,在while循环中,从后往前遍历,用的j--。但是没有考虑到第0个字符串长度很小的问题。所以改成了j++。classSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回
初霁i
·
2024-01-14 20:15
算法
【打卡】
牛客网
:BM85 验证IP地址
之前涉及到IP地址的题有:BM74数字字符串转化成IP地址BM22比较版本号BM85题目要求:IPv4:4组十进制数,范围是0-255每组前无“0”分隔符是“.”IPv6:8组十六进制数,忽略大小写每组前可以有“0”,保证每组由4个字符组成分隔符是“:”IPv4错误示例:不是4组:254.254.254位数大于3:2541.254.254.254分隔符连续:254.254..254不是十进制数(0
初霁i
·
2024-01-14 20:11
算法
动态规划
牛客练习赛A-假的线段树
链接:https://www.nowcoder.com/acm/contest/59/A来源:
牛客网
时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32768K,其他语言65536K64bitIOFormat
轨轨123
·
2024-01-14 19:47
牛客竞赛
牛客练习
A-假的线段
【
算法笔记
】回溯专题
回溯我觉得,回溯的算法语言很像是在做一个对人在现实中做决策情况的模拟,对于不确定对不对的决策,先试试,不行再撤销。在不剪枝的情况下,通过选择和撤销,回溯法(或者说其实就是dfs)可以遍历决策树的全部节点,因为很适合做一些枚举全部可能解的工作。剪枝则可以快速探寻最优解问题(虽然不如分支限界)整体结构为了能够顺利的选上和撤销,我们需要构建合适的抽象语言来描述当前的状态作出尝试,改变相应的状态参数递归的
_六六_
·
2024-01-14 14:58
算法笔记
算法
笔记
深度优先
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他