05 2020 档案
摘要:直接看代码吧 class Solution {//和上一个打家劫舍差不多,唯一的区别是第一个和最后一个房子不能同时抢,所以比较[1,n-1]个房子的最大值,与[2,n]个房子的最大值 public int rob(int[] nums) {//copyOfRange函数易忘,闭区间拷贝出一个新的数组
阅读全文
摘要:思路: 首先,判断n是不是质数,只需要判断到n的平方根为止。 (2)质数的倍数一定不是质数。 class Solution {//求的是小于n的所有质数个数!!!! public int countPrimes(int n) {//如果到n的平方根为止n都找不到能整除自己的数,那么n一定是质数 bo
阅读全文
摘要:https://www.cnblogs.com/xiaozuoliunian/p/7784008.html
阅读全文
摘要:思路:滑动窗口法 受到 76 题 Minimum Window Substring 的启示,找一个范围使得其值满足某个条件,然后就会想到滑动窗口,也就是用双指针的方法。和这道题本质是一样的。 用双指针 left 和 right 表示一个窗口。 (1)ight 向右移增大窗口,直到窗口内的数字和大于等
阅读全文
摘要:方法:使用“快慢指针”思想找出循环:“快指针”每次走两步,“慢指针”每次走一步,当二者相等时,即为一个循环周期。此时,判断是不是因为1引起的循环,是的话就是快乐数,否则不是快乐数。注意:此题不建议用集合记录每次的计算结果来判断是否进入循环,因为这个集合可能大到无法存储;另外,也不建议使用递归,同理,
阅读全文
摘要:思路:直接排序,找中间元素就行 class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; } }
阅读全文
摘要:作者:LeetCode链接:https://leetcode-cn.com/problems/number-of-islands/solution/dao-yu-shu-liang-by-leetcode/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出
阅读全文
摘要:很简单,来个层次遍历,当遍历队列,遍历到刚开始遍历时,队列里最后一个数时(也就是遍历len-1次),得到的就是右视图的其中一个节点 /** * Definition for a binary tree node. * public class TreeNode { * int val; * Tree
阅读全文
摘要:直接看代码吧 class Solution { public int rob(int[] nums) { if(nums.length==0) return 0; if(nums.length==1) return nums[0]; if(nums.length==2) { if(nums[0]>n
阅读全文
摘要:方法一:直接遍历。从头到尾遍历,找最小值,时间复杂度o(n)。 class Solution { public int findMin(int[] nums) { int len=nums.length; int min=Integer.MAX_VALUE; for(int i=0;i<len;i+
阅读全文
摘要:思路:动态规划,假设当前最大值为imax,显然imax=Math.max(imax*nums[i],nums[i])。因为存在负数,那么会导致最大的变最小的,最小的变最大的。因此还需要维护当前最小值imin,imin = min(imin * nums[i], nums[i])当负数出现时则imax
阅读全文
摘要:https://www.cnblogs.com/loren-Yang/p/7538482.html
阅读全文
摘要:https://blog.csdn.net/qq_36520235/article/details/82417949
阅读全文
摘要:作者:寻道而行链接:https://www.nowcoder.com/discuss/423162?type=post&order=time&pos=&page=1&channel=&source_id=1_post来源:牛客网 一共两面,隔了2天,目前已经拿到了实习offer 一面: 介绍项目,难
阅读全文
摘要:原理参考:https://blog.csdn.net/striveb/article/details/84657326 总结: 为什么当桶中键值对数量大于8才转换成红黑树,数量小于6才转换成链表? 参考:https://blog.csdn.net/xingfei_work/article/detai
阅读全文
摘要:作者:秋招冲冲冲冲冲链接:https://www.nowcoder.com/discuss/421255?type=post&order=time&pos=&page=1&channel=&source_id=1_post来源:牛客网 楼主笔试没做,但是很突然地被发起了面试邀请(昨天上午打电话发起今
阅读全文
摘要:作者:牛客258876889号链接:https://www.nowcoder.com/discuss/424600?type=post&order=time&pos=&page=1&channel=&source_id=1_post来源:牛客网 首先我编程自学半年,本科专业电子科学与技术,根本不挨着
阅读全文
摘要:思路:首先,反转后字符串前后不能有空格,所以说,要用一个函数去掉字符串前后的空格trim(), 之后,用split()函数,把原字符串按照空格分隔,成为一个字符串数组 https://www.cnblogs.com/Berryxiong/p/6232373.html 知识补充 String的spli
阅读全文
摘要:https://www.cnblogs.com/Berryxiong/p/6232373.html
阅读全文
摘要:元素要么出现一次,要么出现多次,首先Arrays.sort()进行排序,之后直接遍历就行,假如当前元素等于下标加一的元素,i=i+3;假如不等于,直接返回当前元素。当指针i到了最后一位,这一位一定是结果(这里容易写错) class Solution { public int singleNumber
阅读全文
摘要:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */
阅读全文
摘要:思路,首先,用函数去掉除了大小字母,数字之外的东西,用“”代替。 此外,要全部转换成小写, 之后双指针一前一后遍历就行 class Solution { public boolean isPalindrome(String s) {//大小写转换,看笔记 if(s.length()==0||s==n
阅读全文
摘要:作者:BuRNIngsuperman链接:https://www.nowcoder.com/discuss/425253来源:牛客网 实习简历投的晚,笔试四月初就完成,一直没有面试。可能原部门没有hc,期间还收到一次问我要不要转前端的电话,被我拒绝了。然后4月底收到美团金融的面试邀请。 第一面5.6
阅读全文
摘要:https://blog.csdn.net/ye17186/article/details/89467919
阅读全文
摘要:https://github.com/CyC2018/CS-Notes/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%20-%20%E4%BC%A0%E8%BE%93%E5%B1%82.md
阅读全文
摘要:https://blog.csdn.net/a745233700/article/details/80977133 https://blog.csdn.net/a745233700/article/details/80959716
阅读全文
摘要:思路:可以把交易日分为上涨交易日与下降交易日,假如今天比昨天贵,就叫上涨。用贪心策略,每个上涨交易日都买,下降交易日都不买 class Solution {//贪心策略,所有上涨交易日都买,所有下降交易日都不卖 public int maxProfit(int[] prices) { int len
阅读全文
摘要:思路:可以找出数组里每一个元素右侧的最大值,再遍历整个数组,找当前元素右侧最大值和当前元素数值的差,最大的就是要求的结果。 class Solution { public int maxProfit(int[] prices) { int[] rightMax=new int[prices.leng
阅读全文
摘要:https://leetcode-cn.com/problems/triangle/solution/zi-di-xiang-shang-dong-tai-gui-hua-lei-si-yu-cong-/ 思路: 以[[2],[3,4],[6,5,7],[4,1,8,3]]为例: 假设从倒数第二列开
阅读全文
摘要:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/solution/236ti-er-cha-shu-de-zui-jin-gong-gong-zu-xian-by-i/ 最近公共祖先的定义: 设节点 r
阅读全文
摘要:https://www.cnblogs.com/xueqiuqiu/articles/8779029.html
阅读全文
摘要:https://leetcode-cn.com/problems/pascals-triangle-ii/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by--28/ 思路: 注意一下给出的用例,最上方节点算是第0行,所以说,第三行的这个3
阅读全文
摘要:思路: List有个get(i),函数,求的是list里面,下标为i的这个元素,注意这一点!很有用 此外,每一行的第一个与最后一个元素一定是1,不满足那个规则,所以说要单独处理 class Solution { public List<List<Integer>> generate(int numR
阅读全文
摘要:作者:牛客196631657号链接:https://www.nowcoder.com/discuss/406081?type=post&order=time&pos=&page=1&channel=&source_id=1来源:牛客网 笔试 总体来说难度比美团低很多,前三道题都不算很难,只有最后一题
阅读全文
摘要:作者:ricardoooo链接:https://www.nowcoder.com/discuss/405849?type=post&order=time&pos=&page=1&channel=&source_id=1来源:牛客网 快手效率超高,一点开始面试,一二面连着,四点oc。 一面: 自我介绍
阅读全文
摘要:class Solution {//看笔记,散列表 public boolean containsNearbyDuplicate(int[] nums, int k) { Set<Integer> set=new HashSet<Integer>();//散列表,不能存储相同元素,而且存储元素顺序不
阅读全文
摘要:https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/solution/di-gui-fa-jian-dan-yi-dong-ban-xin-shou-kan-by-lov/ 思路:要用到一个函
阅读全文
摘要:思路: (1)因为是一个完美二叉树,也就是,一个节点要么没有左右子节点,要么左右子节点都有 (2)假如根节点为空。或者根节点左子树为空,不需要进行算法,返回root (3)此时根节点一定有子树,把根的左子节点和右子节点连接起来 (4)之后判断根节点是否有next(和根同一行的节点),有的话,还是因为
阅读全文
摘要:https://www.nowcoder.com/discuss/405849?type=post&order=time&pos=&page=1&channel=&source_id=1 https://www.nowcoder.com/discuss/406081?type=post&order=
阅读全文
摘要:作者:offer能来否链接:https://www.nowcoder.com/discuss/423235?type=post&order=time&pos=&page=1&channel=&source_id=1来源:牛客网 3月中旬投了很多简历,可是没有一个公司找我面(简历太菜了吧···),还好
阅读全文
摘要:https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20%E8%99%9A%E6%8B%9F%E6%9C%BA.md#%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%E5%88%86%E7%B1%BB
阅读全文
摘要:https://www.cnblogs.com/s-b-b/p/8334593.html
阅读全文
摘要:首先,可以排序,之后遍历,不过时间复杂度是nlogn,代码如下,不细说 class Solution { public int singleNumber(int[] nums) { Arrays.sort(nums); if(nums.length==1)return nums[0]; int le
阅读全文
摘要:https://leetcode-cn.com/problems/linked-list-cycle-ii/solution/huan-xing-lian-biao-ii-by-leetcode/ 思路: (1)首先判断有没有环,把quick与slow设置为head,当满足2的条件时,slow每次移
阅读全文
摘要:快慢指针即可 public class Solution { public boolean hasCycle(ListNode head) { if(head==null||head.next==null) return false; ListNode slow=head; ListNode qui
阅读全文
摘要:https://github.com/913624784/Interview-Notebook
阅读全文
摘要:思路: class Solution { int maxDepth = -1; int sum = 0; public int deepestLeavesSum(TreeNode root) { return dfs(root, 0); } private int dfs(TreeNode root
阅读全文
摘要:思路:明显可以使用回溯法,和112题很像,先把当前根节点选中,加入temp,之后使用sum1减去根节点数值,然后到了叶子结点,判断sum1是否为零,来判断当前路径是不是符合要求。 遇到符合要求的叶子结点,把当前的路径加入res里面。 假如当前根节点不是叶子结点,递归调用函数处理左右子树 对左右子树的
阅读全文
摘要:思路: 最直接的方法就是利用递归,遍历整棵树:如果当前节点不是叶子,对它的所有孩子节点,递归调用 hasPathSum 函数,其中 sum 值减去当前节点的权值;如果当前节点是叶子,检查 sum 值是否为 0,也就是是否找到了给定的目标和。 class Solution {//看笔记,思路 publ
阅读全文
摘要:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/solution/li-jie-zhe-dao-ti-de-jie-shu-tiao-jian-by-user7208/ 思路:有个特殊情况,比如树是1,2.这样的话,根节点为
阅读全文
摘要:作者:yakouhao链接:https://www.nowcoder.com/discuss/417666?type=post&order=time&pos=&page=1&channel=来源:牛客网 写在前面: 看了很多牛客的面经,扫一眼问题内容,觉得里面的xx问题,自己复习的时候有cover到
阅读全文
摘要:https://www.cnblogs.com/H-Gfeng/p/10522350.html
阅读全文
摘要:https://blog.csdn.net/u010983881/article/details/78896293
阅读全文
摘要:https://www.cnblogs.com/chengxiao/p/6129630.html
阅读全文
摘要:作者:huatep122链接:https://www.nowcoder.com/discuss/421572?type=post&order=time&pos=&page=1&channel=来源:牛客网 参加了4.12的快手笔试,但是一直没有收到面试邀请,噗,原来是我没有走内推,直接在官网投递的。
阅读全文
摘要:里面还有HashMap的结构图! https://www.cnblogs.com/junjiang3/p/8686290.html 这是另一个教程的图 https://blog.csdn.net/qq_41737716/article/details/90549847
阅读全文
摘要:很简单,先从上到下层次遍历, Collections.reverse(res);反转List就行 class Solution {//先层次遍历,每一层的结果放在一个集合里,最后把大的集合翻转过来 public List<List<Integer>> levelOrderBottom(TreeNod
阅读全文
摘要:二叉树后序遍历,还有107二叉树层次遍历都用到了这个函数! https://www.cnblogs.com/ywb2018/p/9922829.html
阅读全文
摘要:思路: (1)假设根节点在第零层,这样的话,偶数层从左往右遍历,奇数层从右往左遍历。 (2)假设使用队列,而且9下面有子节点 第0层没问题, 第1层要想实现从右往左遍历,得先入队20,再入队9, 但是第2层又要从左往右遍历了,但是第一行先出队的确是20,这就不行了,得先入队9的节点才行,这样第二层才
阅读全文
摘要:思路:和105题一样,这次根节点在后续遍历的最后,找到它;之后在中序遍历里找到根节点。Arrays.copyOfRange()函数找出中序数组和后续数组的左右子树序列,递归,构成树,返回根节点。。。不细说了。感觉挺简单。 /** * Definition for a binary tree node
阅读全文
摘要:思路:前序是根左右,前序序列第一个元素一定是根。中序是左,根,右。根节点左边一定是左子树,右边一定是右子树。 树没有重复元素,所以,先找出根节点,初始化一个TreeNode root,再根据数值相同,找中序遍历里面的根节点,之后用Arrays.copyOfRange(preorder,1,num+1
阅读全文
摘要:答案我自己看着写的,未必一定对,希望有个offer吧,不想去某个坑逼辣鸡公司。 二面部分还没写完,差不多了吧。。。 作者:GuiStarLee链接:https://www.nowcoder.com/discuss/417783?type=post&order=time&pos=&page=1&cha
阅读全文
摘要:https://blog.csdn.net/MoreWindows/article/details/6684558
阅读全文
摘要:必须得新建一个函数,函数里两个参数这样写,比如上图第一个二叉树,第三方第一个与最后一个3是对称的,但是父节点不同,假如写成一个函数,没法比较 /** * Definition for a binary tree node. * public class TreeNode { * int val; *
阅读全文
摘要:递归即可 1,如果其中一个根节点为null,不是 2.如果两个根节点都为null,是 3.如果都不为null,且根节点值不同,不是 4.都不为null,根节点值相同,再分别递归比较两个树的左子树,右子树 class Solution {//递归,不用层次遍历 public boolean isSam
阅读全文
摘要:用递归即可 因为是二叉搜索树,也就是根大于左子节点,根小于右子节点,这就好办了,对于每个可能的根节点,求出所有左右子树的集合,双循环配对 /** * Definition for a binary tree node. * public class TreeNode { * int val; * T
阅读全文
摘要:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 思路:
阅读全文
摘要:孤傲苍狼 只为成功找方法,不为失败找借口! JavaWeb学习总结(五十)——文件上传和下载 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Ser
阅读全文
摘要:思路: 先序遍历:根-左,右 中序遍历:左,根,右 后序遍历:左-右-根 可以发现,只是访问根节点顺序不同而已‘ 后序遍历,左右根,也就是根右左然后逆序!!!(先序遍历是根左右,则后续遍历时候入栈时先入左边再右边)最后的结果逆序输出一下就行! /** * Definition for a binar
阅读全文
摘要:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/solution/er-cha-shu-de-ceng-ci-bian-li-by-leetcode/ /** * Definition for a binary t
阅读全文
摘要:思路:前序遍历,也就是“根,左,右”的顺序去遍历,递归思路简单,不细说了,把res,结果集合设置成全局变量就行 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;
阅读全文
摘要:思路:中序遍历,就是按照“左,中,右”的顺序遍历一个二叉树。 1.递归,先递归左子树,之后把根节点放进res里,在递归右节点即可,可以把res设置为全局变量,或者再写一个函数,res当成参数传递都可以。代码如下,比较简单。 /** * Definition for a binary tree nod
阅读全文
摘要:用两个指针就行,一个指针i初始时指向头元素,另一个j指向下标为1的元素(所以说,当长度为1时单独判断,长度为1就返回1) 之后,如果i下标的元素等于j下标的元素,j++,假如到了i和j代表的元素不等时,说明i,j中间这些都是重复元素,都是等于nums[i]的元素,此时,nums[i+1]=nums[
阅读全文
摘要:https://www.jianshu.com/p/d0b37b927c48
阅读全文
摘要:https://www.jianshu.com/p/157279e6efdb
阅读全文

浙公网安备 33010602011771号