飘过的小牛
飘过的小牛
全部文章
分类
题解(36)
归档
标签
去牛客网
登录
/
注册
飘过的小牛的博客
全部文章
(共42篇)
判断回文
根据性质来判断就好了 public boolean judge (String str) { // write code here boolean res=true; if(str==null || str.length()==0){ ...
2021-03-15
0
565
买卖股票的最佳时机
分析:本题考察的数据结构是数组,算法是dp。当然dp 的递推规律是要我们去找出来的。首先要明白,dp 一定是有一层关系在:下一个数的结果产生一定是与上一个数有关的。整个数组一开始可能这个关系不明显,也就是说这个关系很可能不是连续的,是一种跳跃式的递推关系。接下来我们的操作步骤:1 去发现局部连续的递...
2021-03-15
1
674
容器盛水问题
本题的题目描述不太明确,需要一张示意图,在看别人的题解时看到这个图才明白是怎么回事。 所以本题的核心就是构造两边高而中间低的桶,这个桶能装的水取决于两边里面比较短的那一边。比如{3,1,2} 这个数组能装的水等于1 求得两边的最小值 22 用短的边减去中间波谷的值1得到结果1则数组{3,1,2} 这...
2021-03-15
12
1048
设计 getmin 最小栈
两个栈,一个用来存数据,一个用来存最小值。push 或者 pop的时候都要去尝试更新两个栈,变种问题是如何 O(1)取得最小值 代码格式不是很严谨,还是搞成几个典型的方法比较好 public int[] getMinStack (int[][] op) { // write...
2021-03-14
0
612
字符串的排列
暴力迭代,第n个字符及前面的字符形成的字符串的全排列要先计算第n-1个字符及前面字符形成的字符串的全排列 public ArrayList<String> Permutation(String str) { ArrayList<String> res...
2021-03-14
0
506
数组相加和为0
分析:考察的数据结构是数组,考察的算法是查找。数组里面的查找除了二分就是双指针了。但是这里要求的是3元。那么我就用3个指针。于是用了 left ,right 作为滑动窗口,mid 在中间寻找。问题转变为如何确定是左边移动还是右边移动?即找到了这样的三元组后哪边指针移动?没找到的话和为什么情况左边移动...
2021-03-14
0
647
在转动的数组中寻找目标值
这个题和剑指 Offer 上旋转数组的题有点像,但是不一样,因为剑指 offer 明确了是一个递增排序的数组,如果我们明确了递增的话就能取到 mid,然后通过 mid 与 left 以及 right 的相对大小来判断接下来的走向,但是现在的问题是这个题没有明确。首先分析本题要考察什么:数据结构数组,...
2021-03-14
0
708
求平方根
这算不算二分 public int mysqrt (int x) { // write code here if(x==0 || x==1){ return x; } int mid=x/2+1; int res=0; for(in...
2021-03-13
0
422
在二叉树中找到最近公共祖先
先来分析:考察的数据结构是二叉树,考察的算法是二叉树的深度遍历。假设当前节点A,A到o1,o2的距离最小的条件限制有1 A 均能到o1,o22 A 到 o1,o2 的路程和最小所以思路变成先遍历外面的大树,通过遍历然后针对每一个节点进行可达性以及路程的计算,迭代更新路程最小的节点,其实对于树的遍历,...
2021-03-13
0
558
螺旋矩阵
还记得前两天第一次做这个的时候真是打击了自己,没有什么好办法主要是考虑边界问题,顺着打,避免重复就可以了。 public ArrayList<Integer> spiralOrder(int[][] matrix) { ArrayList<Integer> res...
2021-03-13
0
530
首页
上一页
1
2
3
4
5
下一页
末页