首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
堆栈哲学
获赞
624
粉丝
42
关注
4
看过 TA
328
男
门头沟学院
2022
Java
IP属地:浙江
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑堆栈哲学吗?
发布(86)
评论
刷题
堆栈哲学
关注TA,不错过内容更新
关注
11-19 21:10
门头沟学院 Java
题解 | #多组_一维数组_T组形式#
#include<iostream> #include<cstdio> #include<vector> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); vector<int> a(n); long long sum = 0; for(int ...
0
点赞
评论
收藏
分享
11-16 11:10
门头沟学院 Java
题解 | #单组_一维数组#
#include<iostream> #include<vector> #include<cstdio> using namespace std; int main() { int n; scanf("%d",&n); long long sum = 0; vector<int> a(n); for(int i=0;i<n;i++) { int tmp; scanf("%d",&tmp); ...
小白专属-牛客题解
0
点赞
评论
收藏
分享
11-16 10:20
门头沟学院 Java
题解 | #多组_A+B_零尾模式#
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b; while (scanf("%d %d",&a,&b)) { if(a == 0 && b == 0) break; printf("%d\n",a + b); } return 0; }
0
点赞
评论
收藏
分享
11-13 20:03
门头沟学院 Java
题解 | #多组_A+B_T组形式#
#include<iostream> #include<cstdio> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int a,b; scanf("%d %d",&a,&b); printf("%d\n",a + b); } return 0; }
小白专属-牛客题解
0
点赞
评论
收藏
分享
11-13 19:46
门头沟学院 Java
题解 | #多组_A+B_EOF形式#
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b; while(scanf("%d %d",&a,&b) != EOF) { printf("%d\n",a + b); } return 0; } #include <iostream> using namespace std; int main() { int a, b...
小白专属-牛客题解
0
点赞
评论
收藏
分享
11-11 17:07
门头沟学院 Java
题解 | #字符串最后一个单词的长度#
#include <iostream> #include <string> using namespace std; int main() { std::string s; std::getline(cin, s); int i = s.length() - 1; // 从末尾开始,定位最后一个单词的末位索引 while (i >= 0 && s[i] == ' ') { i--; } int end = i; // 继续向前,查找单词的开头,注意,这里结束后得到的索...
小白专属-牛客题解
0
点赞
评论
收藏
分享
04-22 11:36
门头沟学院 Java
合并两个排序的链表 迭代+递归(rust+cpp)
BM4 合并两个排序的链表描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: 0≤𝑛≤10000≤n≤1000,−1000≤节点值≤1000−1000≤节点值≤1000要求:空间复杂度 𝑂(1)O(1),时间复杂度 𝑂(𝑛)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:或输入{-1,2,4},{1,3,4}时,合并后的链表为{-1,1,2,3,4,4},所以对应的输出为{-1,1,2,3,4,4},转换过程如下图所示:思路递归...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2022-04-21 16:27
门头沟学院 Java
2022-04-21
在牛客打卡43天,今天也很努力鸭!
每日监督打卡
0
点赞
评论
收藏
分享
2021-07-19 22:32
已编辑
门头沟学院 Java
题解 | 调整数组顺序使奇数位于偶数前面
解法一:插入排序思想 记录已经是奇数的位置下标(视作为有序区域),然后向后遍历,一经发现是奇数则进行“插入排序”,然后有序区下标加1。 Java参考代码: import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数组 * @return int整型一维数组 */ //使用插入排序的思想 public int[] reOrderArray (in...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-19 22:49
已编辑
门头沟学院 Java
题解 | 反转链表
解法一:迭代 在遍历链表时,将当前节点的next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。 图解: Java参考代码: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListN...
热火:
你的java示例代码和图片不匹配啊,这个prev在代码里是cur的左节点,在图里是cur的右节点。
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-22 20:55
已编辑
门头沟学院 Java
题解 | 用两个栈实现队列
解法一:队列模拟 栈是后进先出,队列是先进先出,想要用栈实现队列,需要把一个栈中的元素挨个pop()出来,再push到另一个栈中。 上图中,我们将栈a中的数据全部pop()出来,再放入栈b中,经过这么一番操作后,栈b中的元素顺序就变成先进先出的顺序了,所以栈b中的顺序跟队列顺序一样了。解法一、解法二其实都是利用了这种思路,只是不同的函数实现细节不同而已。 push函数实现如下: 分三步操作(维持栈b中的顺序是先进先出的顺序): 将栈b中的内容倒腾到栈a中 将新元素插入栈a中 再将栈a中的所有数据倒腾到栈b中 Java参考代码: import java.util.Stack; ...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-23 21:41
已编辑
门头沟学院 Java
题解 | 数组中只出现一次的两个数字
解法一:位运算(推荐) 既满足时间复杂度又满足空间复杂度,就要提到位运算中的异或运算 XOR,主要因为异或运算有以下几个特点: 一个数和 0 做 XOR 运算等于本身:a⊕0 = a 一个数和其本身做 XOR 运算等于 0:a⊕a = 0 XOR 运算满***换律和结合律:a⊕b⊕a = (a⊕a)⊕b = 0⊕b = b故而在以上的基础条件上,将所有数字按照顺序做抑或运算,最后剩下的结果即为唯一的数字 例:将数组[4, 1, 2, 1, 2]的第一项与之后的元素进行位运算4^1^2^1^2 = 100 -> 101 -> 111 -> 110 -> 100 = 4...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-19 22:24
已编辑
门头沟学院 Java
题解 |数字在升序数组中出现的次数
解法一:暴力 在一个数组中寻早某个元素或者统计其出现的次数 显而易见的方法是暴力解法 循环枚举数组元素,如果有找到目标值K,加入计数器 返回计数器数值即可 Java参考代码: public class Solution { public int GetNumberOfK(int [] array , int k) { //暴力解法:遍历数组,找到目标数字计数器加一 int ans=0; for(int i=0;i<array.length;i++){ //找到目标数字计数器加一 if...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-15 13:38
门头沟学院 Java
题解 | 数独
解法一:递归回溯 递归参数: 因为解数独找到一个符合的条件(就在树的叶子节点上)立刻就返回,相当于找从根节点到叶子节点一条唯一路径,所以需要使用bool返回值, 终止条件: 递归的下一层的棋盘一定比上一层的棋盘多一个数,等数填满了棋盘自然就终止(填满当然好了,说明找到结果了),所以不需要终止条件! 判断棋盘是否合法有如下三个维度: 同行是否重复 同列是否重复 9宫格里是否重复 图片;来自Carl大佬的[D码随想录] C++参考代码: class Solution { private: bool backtracking(vector<vector<char>...
小白专属-牛客题解
0
点赞
评论
收藏
分享
2021-07-19 20:40
已编辑
门头沟学院 Java
题解 | 通配符匹配
解法一:贪心 如果i和j标记的字符正好相等或者j字符是'?'匹配成功,则"移除"i和j元素,即自增i、j。否则如果j字符是✳(*号)依然可以匹配成功,则用istart和jstart分别标记i元素和j元素之后自增j。 否则如果istart>-1说明之前匹配过✳,因为✳可以匹配多个字符,所以这里要再次利用这个最近匹配过的✳匹配更多的字符,移动i标记istart的下一个字符,再让istart重新标记i元素同时移动j标记jstart的下一个字符。 上述三种情况都不满足,则匹配失败,返回false。最后当s中的字符都判断完毕,则认为s为空,此时需要p为空或者p中只剩下星号的时...
小白专属-牛客题解
0
点赞
评论
收藏
分享
1
2
3
4
5
6
关注他的用户也关注了:
牛客网
牛客企业服务