力扣
谷歌程序员
这个作者很懒,什么都没留下…
展开
-
LeetCode 第53题,最大子序和 C语言实现
题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-10原创 2021-08-05 15:42:39 · 259 阅读 · 0 评论 -
LeetCode 第35题 搜索插入位置 C语言实现
题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。...原创 2021-08-05 14:37:18 · 188 阅读 · 0 评论 -
力扣刷题第26 删除数组中的重复项(C语言)通俗易懂
题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = remov原创 2021-08-04 15:03:24 · 189 阅读 · 1 评论 -
LeetCode 第13题 罗马数字转整数 C语言
题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + I...原创 2021-06-06 21:40:40 · 299 阅读 · 1 评论 -
LeetCode 第203题 移除链表元素 Java实现
题目描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[] 来源:力扣(LeetCode) 链接:https://le...原创 2021-06-05 15:17:21 · 154 阅读 · 0 评论 -
LeetCode 第523题 连续的子数组和 C语言
题目描述523. 连续的子数组和给你一个整数数组 nums 和一个整数k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。示例 1:输入:nums = [23,2,4,6,7], k = 6输出:true解释:[2,4] 是一个大小为 2 ...原创 2021-06-02 19:54:52 · 314 阅读 · 0 评论 -
LeetCode 141环形链表 Java实现C语言实现
题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:输入:hea..原创 2021-05-31 15:11:23 · 91 阅读 · 0 评论 -
LeetCode 第342题 4的幂 C语言
题目描述给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x示例 1:输入:n = 16输出:true示例 2:输入:n = 5输出:false示例 3:输入:n = 1输出:true提示: -231 <= n <= 231 - 1来源:力扣(LeetCode)链接:https://leetcode...原创 2021-05-31 10:00:51 · 355 阅读 · 0 评论 -
LeetCode第231题 2的幂 C语言实现
题目描述给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。示例 1:输入:n = 1输出:true解释:20 = 1示例 2:输入:n = 16输出:true解释:24 = 16示例 3:输入:n = 3输出:false示例 4:输入:n = 4输出:true示例 5:输入:n = 5输出:false..原创 2021-05-30 09:49:31 · 386 阅读 · 1 评论 -
LeetCode 第283题 移动零 C语言
题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plus-one著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思想该题是一个简单题,只需要把非零的元素原创 2021-05-29 13:23:21 · 233 阅读 · 0 评论 -
力扣第66题 加一 C语言实现
题目描述给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1].原创 2021-05-28 15:55:08 · 400 阅读 · 0 评论 -
力扣70爬楼梯 C语言实现
题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶来源:力扣(LeetCode)链接:http...原创 2021-05-24 15:28:25 · 1021 阅读 · 0 评论 -
力扣53题 最大子序和
题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-10.原创 2021-05-22 09:58:04 · 163 阅读 · 0 评论 -
力扣刷题数组35题搜索插入位置(c语言)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/se原创 2021-05-16 15:54:13 · 199 阅读 · 1 评论 -
力扣数组第27题作答记录
这个题和上一个26题删除重复元素的题目有类似的地方,都可以用双指针解答 。在看了题解之后发现这两个题目还有一个通用法,有时间必须学习一下。以下是和val相等的值就跳过,不相等的值赋给慢指针。用快慢指针的思想写的代码逻辑。int removeElement(int* nums, int numsSize, int val){ int j=0; for(int i=0;i<numsSize;i++){ if(nums[i]!=val){原创 2021-05-16 14:54:22 · 94 阅读 · 0 评论 -
力扣刷题 两数之和
/***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/int*twoSum(int*nums,intnumsSize,inttarget,int*returnSize){inti,j;int*result;result=(int*)malloc(sizeof(int)*2);for(i=0;i<numsSize-1...原创 2021-05-14 21:52:39 · 158 阅读 · 1 评论