【编程】给定一个部门,变量出当前部门的所有父部门包含当前部门 给定一个部门,输出当前部门的所有父部门及其自己。如下图:分析:1:如果直接就是一级部门,直接返回;2:如果不是一级部门,就递归查询。同样需要注意去重代码:public class AllParentDepartment { public static void main(String[]&nb 凯哥Java 算法刷题 2022-11-15 811已阅读 0 【编程】给定一个部门,遍历出当前部门下所有子部门包含当前部门 给定一个部门,打印出当前部门及其子部门:思路分析:1:可能当前部门没有子部门,如果这种情况,直接返回当前部门;2:如果当前部门包含了子部门,就需要使用递归一层一层的查找;3:在递归的时候,因为是一层一层的,所以,可能在第二层的时候,已经添加了。在进行第三成的时候,可能为空了。需要去重。如下图:完整代码:public class AllDepartment {  凯哥Java 算法刷题 2022-11-15 824已阅读 0 冒泡排序-Java版 冒泡排序的思路:循环数组,比较两个相邻的数据大小,大的放在右变。array[j]>arrar[j+1]:inttemp=array[j];array[j+1]=array[j];array[j]=temp;需要使用到两个for循环:外层循环是循环数组中所有数据,内层循环是进行比较的。所以外层循环的长度是:array.length-1内层循环的长度是:array.leng-1-i./***冒泡 凯哥Java 算法刷题 2020-11-01 1904已阅读 0 二分查找的两种实现方法-【Java版】 二分查找,又叫折半查找。给定一个数据,查看该数据是否在给定的数组中,如果存在,就返回这个数据在数组中的下标位置,如果不存在,则返回-1g需要实现二分查找的前提是:待查找的数组是有序的。二分查找的思路:1:需要有个有序的数组2:需要一个待查询的数据3:先获取的数组的中间下标的值4:拿着中间值和待查询数据进行比较4.1:如果中间值小于待查数据,说明,待查找的数据在中间数据的右侧后半段(因为数组有序的, 凯哥Java 算法刷题 2020-11-01 2055已阅读 0 我说我不会算法,阿里把我挂了 前言工作已经有一段时间了,有的时候会跟同事们打趣:“如果你让我现在去手写一个快速排序,我怕是真的写不出来”。如果不接触一段时间的算法,真的很容易就忘了。不信?你现在想想你自己能不能手写一个堆排序。经历过校招的人都知道,算法和数据结构都是不可避免的。在笔试的时候,最主要的就是靠算法题。像拼多多、头条这种大公司,上来就来几道算法题,如果你没AC出来,面试机会都没有。在面试(现场面或者视频面)的时候也会 凯哥Java 算法刷题 2020-10-31 2002已阅读 0 刷题两个月,从入门到字节跳动offer,这是我的模板 | GitHub 1.2k星 你今天刷LeetCode了吗?白交发自凹非寺量子位报道|公众号QbitAI刷题应该这样刷。最近,一位网友在GitHub上分享了他自己的一个算法模版,瞬间斩获 1.2k 星。按照他的经历来说,四月份找工作开始,从0开始刷LeetCode,现在已经是字节跳动的员工了。于是就通过各种刷题文章,专栏,视频等总结了一套自己的刷题模板。最科学的刷题方式,最快速的刷题路径,到底是怎样的呢?我 凯哥Java 算法刷题 2020-06-21 2275已阅读 0 刷 leetcode 需要哪些基础? 我见过完全0基础、大龄转码,刷题上千然后进谷歌的……姑且称他为老A吧。这里0基础指的是没学过编程语言,没学过数据结构和算法,一上来就直接做题那种。第一道题twosum,老A显然是不会做的。他的方法就是看答案,背答案,然后默出来,就这样还是错了很多次。然而就是这样低的起点,老A把LC前300道题刷了至少3遍,累计刷题数超过1000道,最后靠刷题上岸了谷歌。关于老A的求职过程和刷题经验,可以来看看他自 凯哥Java 算法刷题 2020-06-15 2201已阅读 0 每日一个小算法之整数中每位上的数字进行反转 20190810 题目要求:给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例2:输入: -123输出: -321示例3:输入: 120输出: 21示例4:输入:9646324351输出: 0注意:假设我们的环境只能存储得下32位的有符号整数,则其数值范围为[−2的31次方, 2 凯哥Java 算法刷题 2019-08-10 2524已阅读 0 每日一个小算法之两数之和 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1].这个题目是不是很简单啊。首先,我们想到的第一种方案就是for循环。嵌套循环。如下: 凯哥Java 算法刷题 2019-08-09 2711已阅读 0