LeetCode-编程题
文章平均质量分 83
牙疼想吃桃
这个作者很懒,什么都没留下…
展开
-
暑假刷题嗷嗷嗷嗷
因为最近的工作内容不涉及编程我已经很久很久很久没有敲过代码了现在因为学校课程要快速回顾一下啦考试一时爽上学泪两行加上十月份还有体测最近还有各种运动比赛啊啊啊啊啊啊啊啊啊啊加油吧第一题题目:计算两个32位整数A和B的和!输入 输入数据有多组,每组为一行,包括两个不超过二进制32位的整数。输出 对每组输入,在单独的行中输出结果。示例输入1 2-1 1示例输出3 0注意点:极限输入#include<stdio.h>int main(){ long原创 2021-08-16 17:49:27 · 1002 阅读 · 1 评论 -
Leetcode-287-寻找重复数-Floyd判圈算法-快慢指针-二分法-中等-Java实现
题目:方法一思路: 用 Floyd 判圈算法来做。 首先,把数组写成链表。从头遍历数组,通过元素值指向下一个遍历位置,能找到两个不同的索引(但是值相等)指向同一索引,这就成环。 此时,环入口就是重复元素。 然后,如何求得环入口呢?声明一个快指针和一个慢指针,从起点出发,快指针每次走两步,慢指针每次走一步,如果存在环的话,此时快慢指针会相遇。 相遇之后,让慢指针回到出发点,接下来快慢指针以相同速度一起走,再次相遇之处就是环形的入口。 LeeCode题解-287寻找重复数-有找环入口动画 Le原创 2020-07-31 13:01:26 · 291 阅读 · 0 评论 -
LeetCode-快乐数-快慢指针-龟兔赛跑-链表是否有环-Java实现
题目:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1来源:力扣(LeetCode)原创 2020-07-30 23:36:17 · 242 阅读 · 0 评论 -
LeetCode-169-多数元素-简单-Java实现
题目:方法一思路:候选人(cand_num)初始化为nums[0],票数count初始化为1。当遇到与cand_num相同的数,则票数count = count + 1,否则票数count = count - 1。当票数count为0时,更换候选人,并将票数count重置为1。遍历完数组后,cand_num即为最终答案。为何这行得通呢?投票法是遇到相同的则票数 + 1,遇到不同的则票数 - 1。且“多数元素”的个数> ⌊ n/2 ⌋,其余元素的个数总和<= ⌊ n/2 ⌋。因原创 2020-07-30 11:29:54 · 292 阅读 · 0 评论 -
LeetCode-162-寻找峰值-中等-Java实现
题目:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入: nums = [1,2,1,3,5,6,4]输出: 1 或 5 解释: 你的函数可以返原创 2020-07-29 14:25:26 · 195 阅读 · 0 评论 -
LeetCode-滑动窗口-最大子数组之和为k-中等-Java实现-未完待续
题目:思路:哈希表和累积和。为什么(sum - k)存在,代表子数组和等于k?—我理解不了,等等我我是想要练习滑动窗口的,我觉得如果用哈希表的话,感觉没有用到滑动窗口。。再等我练习一下吧。我一开始是想要用start-end两个指针做一个滑动窗口,但是因为数组中不全是正数,所以实现不了,但是应该还是可以的,我再研究研究。代码如下:/** * 最大子数组之和为k * @param nums * @param k * @return */ public static int原创 2020-07-26 23:57:56 · 258 阅读 · 0 评论 -
LeetCode-209-滑动窗口-长度最小的子数组-中等-Java实现
题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。示例:输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。进阶:如果你已经完成了 O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob原创 2020-07-25 21:56:56 · 239 阅读 · 0 评论 -
LeetCode-075-颜色分类-中等-Java实现
题目:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间的原创 2020-07-18 22:38:40 · 140 阅读 · 0 评论 -
LeetCode-070-爬楼梯-简单-Java实现
题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。4. 1 阶 + 1 阶 + 1 阶5. 1 阶 + 2 阶6. 2 阶 + 1 阶来源:力扣(LeetCode)链接:https://leetcod原创 2020-07-18 18:43:03 · 187 阅读 · 0 评论