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
牛客算法训练
代码随想录
算法训练
营第15天|● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树
层序遍历思路:利用一个辅助队列存放每一层的元素,出队的同时再把其孩子节点存入队列。队列为空则遍历结束。代码:vector>levelOrder(TreeNode*root){queueque;if(root!=nullptr)que.push(root);vector>result;while(!que.empty()){vectorvec;intsize=que.size();//该层元素固定,
strive340
·
2024-02-13 20:39
算法
数据结构
代码随想录
算法训练
营第11天|● 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值
20.有效的括号思路:栈的经典应用,利用栈的先进后出特性,当遇到左括号,则把相应的右括号压入栈中,遇到右括号,再把栈顶元素pop出来对比即刻.但是要分清楚3种边界情况。第一种:遍历过程中,栈中提出的右括号和当前的左括号不匹配,则错误第二种:遍历过程中,当遇到右括号,但是栈中元素是空的,则说明没有相应的左括号,错误.因为每压入栈的右括号,都是因为遍历到了左括号,可以把栈看作一个存入期望括号的栈,比如
strive340
·
2024-02-13 20:09
数据结构
开发语言
代码随想录
算法训练
营第13天|● 239. 滑动窗口最大值● 347.前 K 个高频元素
239.滑动窗口最大值解一(暴力解):假设窗口为k,数组大小为n,每次在一个窗口找最大值,遍历n-k次,则时间复杂度O(kn)优解:时间消耗大的还是在找最大值方面,定义一个单调(从大到小单调减)队列,队列里面仅维护当前窗口可能的最大值。时间复杂度O(n)单调队列遵循规则:pop():队列非空,且并且当前value值等于单调队列的队头元素,则弹出队头元素push(value):value值必须大于队
strive340
·
2024-02-13 20:09
数据结构
代码随想录
算法训练
营第8天|● 344.反转字符串● 541. 反转字符串II● 卡码网:54.替换数字● 151.翻转字符串里的单词● 卡码网:55.右旋转字符串
344.反转字符串思路:利用双指针进行字符串反转,i,j指数组头和尾,i,j下标指向元素两两交换,不断内缩,i也控制交换趟数。代码:voidreverseString(vector&s){intj=s.size()-1;inttemp;for(inti=0;i
strive340
·
2024-02-13 20:08
算法
数据结构
代码随想录
算法训练
营第十四天|二叉树理论基础● 递归遍历 ● 迭代遍历● 统一迭代
二叉树的基本理论知识:代码随想录二叉树的递归遍历确定前中后的遍历顺序,确定好终止条件,还是很好写的。前序遍历:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNod
stupidyinu
·
2024-02-13 20:38
算法
数据结构
代码随想录
算法训练
营第十四天|二叉树的递归遍历、迭代遍历、层序遍历
二叉树的递归遍历:题目链接/文章讲解/视频讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86.html二叉树的迭代遍历:题目链接/文章讲解/视频讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6
Elaine yes
·
2024-02-13 20:08
笔记
代码随想录
算法训练
营第十四天| 二叉树的递归遍历,迭代遍历
递归遍历144.二叉树的前序遍历题目链接:https://leetcode.cn/problems/binary-tree-preorder-traversal/classSolution:defpreorderTraversal(self,root:Optional[TreeNode])->List[int]:result=[]deftran(root:TreeNode):ifrootisNon
lldyy_xb
·
2024-02-13 20:08
算法
代码随想录
算法训练
营第14天|二叉树-递归遍历 ● 迭代遍历● 统一迭代
递归遍历二叉树定义:structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intval):val(val),left(nullptr),right(nullptr){}};总结递归三部曲:1.确定递归函数的参数和返回值2.确定终止条件3.确定单层循环逻辑前序递归遍历代码://前序遍历voidtraversal(TreeNode*cu
strive340
·
2024-02-13 20:38
算法
数据结构
算法训练
Day27|LeetCode 39. 组合总和、40.组合总和II、131.分割回文串
题目链接:39.组合总和classSolution{private:vector>result;vectorpath;voidbacktracking(vector&candidates,inttarget,intsum,intstartIndex){if(sum==target){result.push_back(path);return;}//如果sum+candidates[i]>targe
Walter.C
·
2024-02-13 18:35
算法
leetcode
数据结构
c++
力扣
算法训练
day26 leetcode39组合总和 40组合总和Ⅱ 131分割回文串
39组合总和题目描述给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。示例1:输入
dc爱傲雪和技术
·
2024-02-13 18:02
算法
C语言学习记录
牛牛的字符矩形_
牛客
题霸_
牛客
网(nowcoder.com)#includeintmain(){chara;//定义要输入的字符scanf("%c",&a);//输入字符for(inti=3;i>0;i
曾浩轩
·
2024-02-13 17:42
C语言学习记录
学习
c语言
C语言学习记录
牛牛的字符菱形_
牛客
题霸_
牛客
网(nowcoder.com)#includeintmain(){chara;scanf("%c",&a);printf("%c\n",a);printf("%c%c%c\
曾浩轩
·
2024-02-13 17:42
C语言学习记录
学习
c语言
C语言学习记录
牛牛学说话之-整数_
牛客
题霸_
牛客
网(nowcoder.com)本篇总结:因为要输入一个数,所以要先定义一个数,才能输入。又因为要输入的数为整数,所以用int来定义,a为要输入这个数的名字。
曾浩轩
·
2024-02-13 17:12
C语言学习记录
学习
代码随想录
算法训练
营第二十七天|39. 组合总和、40.组合总和II、131.分割回文串
39.组合总和题目链接:39.组合总和与组合问题类似,关键是理解startIndex的作用,它是控制每组内部,每个元素的选择,如果传入的是i,则组内可重复并且组间不重复,为什么?因为外部有for循环会控制i一直自增前进,然后还有回溯操作,之前被选过的数字在回溯之后是不会再被选择了。下面是没有剪枝之后的代码。代码1.0:classSolution{//1.不剪枝版本,2ms通过Listtemp=ne
remember_me.
·
2024-02-13 17:03
代码随想录
回溯算法
Java
组合问题
代码随想录
算法训练
营第二十八天|93.复原IP地址、78.子集、90.子集II
93.复原IP地址题目链接:93.复原IP地址我的思路用的是和气割回文串一样的思路,先保存子穿,然后拼接之后再加入,与代码随想录里的方法有所不同。代码classSolution{Listresult=newArrayListtemp=newArrayListrestoreIpAddresses(Strings){backtracking(s,0);returnresult;}publicvoidb
remember_me.
·
2024-02-13 16:31
代码随想录
回溯算法
Java
子集问题
力扣
算法训练
_无重复的最长子串(JAVA)
题目:思路:定义一个map集合对象,和二个指针,end指针进行遍历集合,start指针用来规定起点,当end指针遍历到重复元素时,计算出end与start的差值ans,又从这个地方重新进行遍历,以此往复,得到差值最大的ans。代码:
为你千千万万遍的哈桑
·
2024-02-13 16:24
java
算法
力扣
算法训练
_链表的中间结点(JAVA)
题目:思路:让二个指针最开始都指向头结点,一个指针一直移动两格,一个指针一直移动一格,当快指针移动到最后时,慢指针刚好指向中间结点。判断快指针的条件,只需要依次列举就好(引用官方的图片)。当条件为kuai.next时:当条件为kuai.next.next时:是不是更加清晰明了。代码:
为你千千万万遍的哈桑
·
2024-02-13 16:54
java
算法
力扣
算法训练
_两数之和
题目思路:最开始想的是用双指针一个向右一个向左遍历,结果代码超时,如图:转变思路,不仅可以利用双指针,还可以用map集合中的键值对来解决问题,这里阐述几个关键方法,containinsKey()如果集合中有指定的值,则返回true。通过代码:
为你千千万万遍的哈桑
·
2024-02-13 16:53
算法
java
力扣
算法训练
_反转字符串中的单词(JAVA)
题目:思路:将字符串保存进字符数组,创建一个新的reverse()方法用于反转规格长度的字符数组。当遍历到‘’时,可以将前面一段字符进行反转,遍历到最后,应该把最后一段进行反转,因为之前反转的但是空格以前的,而最后一段是在空格之后。代码:
为你千千万万遍的哈桑
·
2024-02-13 16:53
java
算法
力扣
算法训练
_移动零(JAVA)
题目这道题利用的是快慢指针方法,因为不需要排序所以快指针只用往前遍历,只要不遍历到零时,用慢指针进行装载。代码
为你千千万万遍的哈桑
·
2024-02-13 16:23
算法
java
python 深拷贝 和 浅拷贝
做
牛客
时碰到的问题In[23]:a={1:[]}In[24]:c=deepcopy(a)In[25]:b=copy(a)In[26]:a[1].append(1)In[27]:aOut[27]:{1:[
clever哲思
·
2024-02-13 14:43
2024
牛客
寒假算法基础集训营3题解(M题)
M.智乃的36倍数(normalversion)题意简单来说就是问一个数组a中有多少种组合可以使得这个组合拼接而成的数是36的倍数思路36分解成4和9,能整除9代表各个位数之和是9的倍数,能整除4代表最后两位能整除4(因为100是4的倍数),由于样例过多,直接暴力是会超时的,所以想办法优化了一下:开了三个动态数组,分别为:除9的余数为i的下标,能除4的数且除9余数为i的下标,小于10且除9余数为i
shy666123
·
2024-02-13 13:40
算法
牛客
寒假算法基础集训营4-J-Applese 的减肥计划
链接:https://ac.nowcoder.com/acm/contest/330/J来源:
牛客
网已知Applese两只手分别产生的力的大小,以及它们之间的夹角,试求两力合力的大小。
Honyelchak
·
2024-02-13 13:10
算法刷题
c++
2020
牛客
寒假算法基础集训营2 C - 算概率 (DP)
是个DP套路题,以前也见过类似的明明,一开始写不出我好菜#defineintllconstintmod=1e9+7;intp[2010],f[2010],dp[2010][2010];signedmain(){intn;cin>>n;rpp(i,n){cin>>p[i];f[i]=((1-p[i])%mod+mod)%mod;}dp[0][0]=1;for(inti=1;i<=n;++i){dp[
小松萘
·
2024-02-13 13:10
规划---动态规划
2023
牛客
寒假算法基础集训营4 J-清楚姐姐学排序
原题链接:J-清楚姐姐学排序_2023
牛客
寒假算法基础集训营4(nowcoder.com)思路:一道表面说排序,实际上是建图的题,根据输入的条件同时建立一个正向和反向的图,用dfs分别搜索,复杂度为n2
awaqqq
·
2024-02-13 13:39
算法
2024
牛客
寒假算法基础集训营3 C-智乃的前缀、后缀、回文
来源题目智乃最近学习了字符串的相关算法。所谓字符串的非空前缀是指一个字符串的开头部分形成的子串,从字符串的第一个字符开始,包含连续的若干个字符。即对于一个长度为NNN的字符串SSS,有且仅有NNN个前缀,第iii个前缀为S0S1...Si−1S_{0}S_{1}...S_{i-1}S0S1...Si−1。字符串的非空后缀是指一个字符串的某一个位置延伸到字符串结尾的连续子串,从字符串的某一个字符开始
心刍
·
2024-02-13 13:39
题解
算法
c++
哈希算法
牛客
——最短Hamilton路径(动态规划)
链接:登录—专业IT笔试面试备考平台_
牛客
网来源:
牛客
网题目描述给定一张n(n≤20)(n\leq20)(n≤20)个点的带权无向图,点从0∼n−10\simn-10∼n−1标号,求起点0到终点n-1的最短
swoows
·
2024-02-13 12:36
算法
数据结构
动态规划
牛客
——递归实现组合型枚举(枚举,dfs)
链接:登录—专业IT笔试面试备考平台_
牛客
网来源:
牛客
网题目描述从1~n这n个整数中随机选出m个,输出所有可能的选择方案。
swoows
·
2024-02-13 12:36
深度优先
算法
牛客
——递归实现指数型枚举(枚举,dfs)
链接:登录—专业IT笔试面试备考平台_
牛客
网来源:
牛客
网题目描述从1∼n1\simn1∼n这n(n≤16)(n\leq16)(n≤16)个整数中随机选取任意多个,输出所有可能的选择方案。
swoows
·
2024-02-13 12:35
算法
枚举
dfs
牛客
BM9-删除链表的倒数第n个结点-C++
一、题目二、思路使用双指针法,指针pre指向新创建的头结点,p初始指向链表原首结点,先让p向后走n-1步,这时pre和p之间相隔n个结点,然后pre和p同步后移,当p指向链尾结点时,pre指向的是被删除结点的前驱结点,最后删除结点即可。三、代码classSolution{public:ListNode*removeNthFromEnd(ListNode*head,intn){ListNode*du
TLJava^v^
·
2024-02-13 11:46
#
牛客-C++
数据结构
c++
牛客
链表
删除
倒数第n个
2024
牛客
寒假算法基础集训营2-c Tokitsukaze and Min-Max XOR
来源题目Tokitsukaze有一个长度为n的序列a1,a2,…,an和一个整数k。她想知道有多少种序列b1,b2,…,bm满足:其中⊕\oplus⊕为按位异或,具体参见百度百科:异或答案可能很大,请输出 mod1e9+7后的结果。输入描述:第一行包含一个整数T(1≤T≤2e5),表示T组测试数据。对于每组测试数据:第一行包含两个整数n,k(1≤n≤2⋅e5;0≤k≤1e9)。第二行包含nnn个整
心刍
·
2024-02-13 09:45
题解
算法
c++
字典树
【
算法训练
营】等式,道路升级(c++,python实现)
等式问题描述有n个变量和m个“相等”或“不相等”的约束条件,请你判定是否存在一种赋值方案满足所有m个约束条件。输入格式第一行一个整数T,表示数据组数。接下来会有T组数据,对于每组数据:第一行是两个整数n,m,表示变量个数和约束条件的个数。接下来m行,每行三个整数a,b,e,表示第a个变量和第b个变量的关系:若e=0则表示第a个变量不等于第b个变量;若e=1则表示第a个变量等于第b个变量输出格式输出
X.AI666
·
2024-02-13 06:28
算法训练营
算法
字节跳动面试看这一篇就够了
背景突然想整理下各个大厂的面经,做一个整理,在
牛客
网上看了一下23年4月到24年1月以来字节后段的面经,做了一个简单的整理。持续更新中。。。。
一叶知秋@qqy
·
2024-02-13 05:28
面经
面试
字节跳动
代码随想录
算法训练
营day 29|第七章 回溯算法part05
491.递增子序列本题和大家刚做过的90.子集II非常像,但又很不一样,很容易掉坑里。代码随想录视频讲解:回溯算法精讲,树层去重与树枝去重|LeetCode:491.递增子序列_哔哩哔哩_bilibili这道题本身没那么难想到,但是有很多要注意点:一旦path的size大于1,就要收集.使用容器要记住当次for循环已经遍历过的值,这样来去重.可以使用unordered_set(集合),也可以使用数
.wsy.
·
2024-02-13 02:29
代码随想录训练营
算法
C语言学习记录
小飞机_
牛客
题霸_
牛客
网(nowcoder.com)飞机翅膀12个*,第一行按5下空格,再按两下*,再按5下空格,最后一行按4下空格,再按一下*,再按两下空格,再按一下*,再按4下空格数格子就完了,本篇还是练格式
曾浩轩
·
2024-02-13 00:03
C语言学习记录
学习
c语言
【
牛客
网华为机试】HJ44 Sudoku
题目描述问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个3X3粗线宫内的数字均含1-9,并且不重复。例如:输入输出输入描述:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出描述:完整的9X9盘面数组示例1输入:0924817634137629858673594126241953787598
202xxx
·
2024-02-12 21:38
牛客网刷题
算法
python
数独
递归算法
数据结构
2018暑期
牛客
多校第七场 J-Sudoku Subrectangles
链接:https://www.nowcoder.com/acm/contest/145/J来源:
牛客
网SudokuSubrectangles时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32768K
余西子
·
2024-02-12 21:06
牛客
2024
牛客
寒假算法基础集训营1
ADFS搜索题目描述最近,fried-chicken完全学明白了DFS搜索(如上图所示)!于是学弟向他请教DFS搜索,fried-chicken热心的进行了讲解:所谓DFS搜索,就是给定一个字符串sss,问能否找到sss的一个子序列,使得该子序列的值为DFS或dfs。请你分别判断字符串sss中是否含有DFS子序列与dfs子序列。子序列的定义:从原字符串中选择一些字符,将这些字符按照其在原串中的顺序
再写一题就睡觉
·
2024-02-12 21:06
算法
网课:[NOIP2002]字串变换——
牛客
(疑问)
题目描述已知有两个字串A,B及一组字串变换的规则(至多6个规则):A1->B1A2->B2规则的含义为:在A中的子串A1可以变换为B1、A2可以变换为B2…。例如:A='abcd'B='xyz'变换规则为:‘abc’->‘xu’‘ud’->‘y’‘y’->‘yz’则此时,A可以经过一系列的变换变为B,其变换的过程为:‘abcd’->‘xud’->‘xy’->‘xyz’共进行了三次变换,使得A变换为
2301_80718054
·
2024-02-12 21:02
算法
2024
牛客
寒假算法基础集训营1——H
输入341118141511411581415114020003041输出365思路:考虑二进制,有点像数位dp本题考虑集合划分,累加最大值即可代码如下:#includeusingnamespacestd;voidsolve(){intn,m;cin>>n>>m;vectorv(n),w(n);for(inti=0;i>v[i]>>w[i];}intans=0,pre=0;for(inti=31;
Jared_devin
·
2024-02-12 21:32
DP
算法
c++
图论
贪心算法
2024
牛客
寒假算法基础集训营2
CTokitsukazeandMin-MaxXOR题目大意给定一个数组从任取数构成序列序列满足,(可以只取一个数)问能构造出多少个解题思路定找双枚举时间复杂度到,考虑利用加速统计的方案,即将数字按二进制位拆分挂在树上对于一个数,它在树上经过的点,均加上它对答案的贡献所以树上的某一点存的信息为,以这个点的数位为分界,在它之前(包括它)均为某固定值,而在它后均为任意值的数对答案的贡献若当前值为,令其为
Xing_ke309
·
2024-02-12 21:01
算法
网课:数独挑战——
牛客
(题解与疑问)
涉及知识点:打表题目描述数独是一种填数字游戏,英文名叫Sudoku,起源于瑞士,上世纪70年代由美国一家数学逻辑游戏杂志首先发表,名为NumberPlace,后在日本流行,1984年将Sudoku命名为数独,即“独立的数字”的缩写,意思是“在每一格只有一个数字”。2004年,曾任中国香港高等法院法官的高乐德(WayneGould)把这款游戏带到英国,成为英国流行的数学智力拼图游戏。玩家需要根据9×
2301_80718054
·
2024-02-12 21:30
深度优先
算法
C语言学习记录
牛牛学说话之-字符_
牛客
题霸_
牛客
网(nowcoder.com)总结:字符定义为char,对应%c整数定义为int,对应%d分数对应float,对应%f,内存小,速度快分数对应double,对应%lf,
曾浩轩
·
2024-02-12 20:53
C语言学习记录
学习
c语言
C语言学习记录
牛牛的第二个整数_
牛客
题霸_
牛客
网(nowcoder.com)注意输入的格式,%d空格%d空格%d
曾浩轩
·
2024-02-12 20:53
C语言学习记录
学习
C语言学习记录
牛牛学说话之-浮点数_
牛客
题霸_
牛客
网(nowcoder.com)#includeintmain(){floata;//浮点数也就是小数,有两种定义形式,分别是float和doublescanf("%f
曾浩轩
·
2024-02-12 20:23
C语言学习记录
学习
c语言
牛客
周赛 Round 32 E.小红的回文数【挖掘性质+哈希前缀和】
原题链接:https://ac.nowcoder.com/acm/contest/75174/E时间限制:C/C++1秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K64bitIOFormat:%lld题目描述小红定义一个整数是“好数”,当且仅当该整数通过重排之后可以形成回文数。(可以包含前导零)现在小红拿到了一个正整数x,小红想截取一段连续区间得到好数,她想知道有多少种
lianxuhanshu_
·
2024-02-12 18:18
基础算法
哈希算法
算法
数据结构
牛客
周赛 Round 32(A,B,C,D,E,F)
比赛链接官方视频讲解这场D是用dfs跑图的一个树上dp,E是裸状压,F是状压DP,会状压的话其实难度不是特别大。B题出乎意料的卡了我一会,实际上如果推理出来一个小性质写起来就很简单了。A小红的01背包思路:V的容量能装多少个x就装多少个,然后个数乘以收益y就行了code:#include#includeusingnamespacestd;intV,x,y;intmain(){cin>>V>>x>>
邪神与厨二病
·
2024-02-12 18:18
牛客
c语言
深度优先
算法
c++
状态压缩
动态规划
牛客
周赛 Round 8 解题报告 | 珂学家 | 构造 + 树形DP
题解|#牛牛队列成环#本题知识点分析:1.链表前驱结点和后继结点2.链表遍历3.快慢指针本题解题思路分析:1.利用慢指针走一步,快指针走两步2.遍历同时判断两个指针的值是否相等,如果题解|#草原上的牛群#/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramnumsint整型一维数组*@retu题解|#牛群分隔#该题考察的知识点包括:单链表的遍历和操作:
huaxinjiayou
·
2024-02-12 18:47
java
牛客
周赛 Round 32 F.小红的矩阵修改【三进制状态压缩dp】
原题链接:https://ac.nowcoder.com/acm/contest/75174/F时间限制:C/C++1秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K64bitIOFormat:%lld题目描述小红拿到了一个字符矩阵,矩阵中仅包含"red"这三种字符。小红每次操作可以将任意字符修改为"red"这三种字符中的一种。她希望最终任意两个相邻的字母都不相同。小红想
lianxuhanshu_
·
2024-02-12 18:46
动态规划
算法
动态规划
代码随想录
算法训练
营第十三天 | LeetCode 144. 二叉树的前序遍历、LeetCode 145. 二叉树的后序遍历、LeetCode 94. 二叉树的中序遍历
代码随想录
算法训练
营第十三天|LeetCode144.二叉树的前序遍历、LeetCode145.二叉树的后序遍历、LeetCode94.二叉树的中序遍历文章链接:代码随想录递归遍历代码随想录迭代遍历代码随想录统一迭代法视频链接
Hsu琛君珩
·
2024-02-12 18:41
算法
leetcode
职场和发展
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他