#Leetcode

LeetCode160 相交链表(双指针)

题目:clickhere!!题目传送门思路:1.笨方法因为如果两个链表相交的话,从相交的地方往后是同一条链表,所以:分别遍历两个链表,得出两个链表的长度,两个长度做差得到n,然后将长的链表头指针先移动n个结点,然后两个链表再同时移动,如果出现两个链表的指针直到同一个内存地址,说明相交,没有出现指向同一个内存地址的情况就...

LeetCode141 环形链表(Java—HashSet简单应用or双指针)

题目:判断给出的链表中是否存在环。思路:1.遍历整个链表,将走过的节点的内存地址保存下来,如果再次走到同样的内存地址,说明链表中有环。时间复杂度为O(n)。2.设置两个指针,fast指针每次走两步,slow指针每次走一步,如果链表中有环:当两个指针都进入环中后,他们将在n次移动后相遇n=两只指针之间的距离÷...

LeetCode455 分发饼干(简单贪心—Java优先队列简单应用)

题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值 gi,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸sj 。如果sj>=gi ,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目...

LeetCode874 模拟行走机器人(简单模拟—Java之HashSet简单应用)

题目:机器人在一个无限大小的网格上行走,从点 (0,0)处开始出发,面向北方。该机器人可以接收以下三种类型的命令:-2:向左转 90度-1:向右转90度1<=x<=9:向前移动 x 个单位长度在网格上有一些格子被视为障碍物。第i 个障碍物位于网格点 ...

LeetCode1005 K次取反后最大化的数组和(贪心+Java简单排序)

题目:给定一个整数数组A,我们只能用以下方法修改该数组:我们选择某个个索引i 并将A[i]替换为-A[i],然后总共重复这个过程K次。(我们可以多次选择同一个索引i。)以这种方式修改数组后,返回数组可能的最大和。 示例1:输入:A=[4,2,3],K=1输出:5解释:选择索引(1,),然后A变为[4...

LeetCode1046 最后一块石头的重量(贪心—Java优先队列简单应用)

题目:有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x和 y,且 x<=y。那么粉碎的可能结果如下:如果 x==y,那么两块石头都会被完全粉碎;如果 x!=y,那么重量为 x ...

LeetCode1217 玩筹码(贪心)

题目:数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对任何筹码执行下面两种操作之一(不限操作次数,0次也可以):将第i个筹码向左或者右移动2个单位,代价为0。将第i个筹码向左或者右移动1个单位,代价为1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动...
代码星球 ·2020-07-18

LeetCode1029 两地调度(贪心+java自定义排序回顾)

题目:公司计划面试2N人。第i人飞往A市的费用为costs[i][0],飞往B市的费用为costs[i][1]。返回将每个人都飞到某座城市的最低费用,要求每个城市都有N人抵达。示例:输入:[[10,20],[30,200],[400,50],[30,20]]输出:110解释:第一个人去A市,费用为10。第二个人去A市,...

LeetCode559 N叉树的最大深度

题目:  思路:直接递归求解最大深度就可以,这里主要记录一下Java中比较获得两个数中最大值的方法。importjava.math.*;classSolution{publicintmaxDepth(Noderoot){if(root==null){return0;}intdeep=0;for(in...

LeetCode#665 非递减数列

题目:给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i(1<=i<n),满足 array[i]<=array[i+1]。思路:4,...
代码星球 ·2020-07-18

LeetCode#7 整数反转(数学)

题目: 思路:(题外话:好久不刷题,明显生疏了好多,要捡起来记住当初那一份热爱!)判断溢出的方法,在将数字反转的同时,专注在int的最大值/10和最小值/10这两个数上进行判断就可以了:拿正数为例:设res为反转后的数字if res>Integer.MAX_VALUE/10无论res再加上什么...

LeetCode#3

题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:abcabcbb输出的结果应该是3,最长的无重复的字串是'abc' 果然无论做什么都要静下心来啊!昨晚上卡了一个多小时愣是没改出来,今天仔细的考虑了一下,半个小时搞定………...
代码星球 ·2020-07-18

LeetCode 35. 搜索插入位置

LeetCode 35.搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例1:输入:[1,3,5,6],5输出:2  知识点:array_search();//在数...
代码星球 ·2020-06-02

LeetCode27. 移除元素

LeetCode27.移除元素 给定一个数组nums 和一个值val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元...
代码星球 ·2020-06-02

LeetCode 26. 删除排序数组中的重复项

LeetCode 26.删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例 1:给定数组nums=[1,1,2],函数应该返回新...
首页上一页...2728293031...下一页尾页