![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
CF_S
这个作者很懒,什么都没留下…
展开
-
二分法进阶
一个二维数组,奇数行递增,偶数行递减。在这个二维数组中查找这个数。#include <stdio.h>int find1(int *a,int size,int target){ int low = 0,high = size - 1; int mid = 0; //{0,1,2,3,4,5,6,7,8,9}, while(low <= high){ mid = (low + high) / 2; if(a[mid] == target){ return原创 2021-03-21 15:31:55 · 135 阅读 · 0 评论 -
力扣------找出数组中元素个数大于数组长度1/2的那个元素
有一个整形数据,共有N的元素,如果其中有一个元素m的数量大于n/2,请找出这个元素。方法1:两层for循环得到数组中每个元素的数量,然后取出其中元素数量最多的那个元素;方法2:对数组进行排序,因为元素m的数量大于n/2,那么排序后中间那么元素的就是要找的元素;方法3:1.依次遍历数组,若接下来的数字与记录的数字相同,则次数加一;若接下来的数字与记录的数字不同,则次数减一。2.当次数为0时,保存下一个数字,并将次数置为1。当数组结束的时候得到的那个元素就是待寻找的元素。例如极端情原创 2020-08-23 09:04:05 · 733 阅读 · 0 评论 -
力扣-----删除单链表的结点
原创链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 --head =[4,5,1,9],它可以表示为:说明:链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从你的函数中返回任何结果。程序中的“狸猫换太子”,这个函数...翻译 2020-07-22 07:26:48 · 237 阅读 · 0 评论 -
力扣-----三数和为0
链接:https://leetcode-cn.com/problems/3sum给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]int Compare...转载 2020-06-21 11:18:58 · 293 阅读 · 0 评论 -
力扣-----求最长的公共前缀
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。char * longestCommonPrefi...翻译 2020-06-20 15:28:20 · 197 阅读 · 0 评论 -
力扣----两数之和
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] ...转载 2020-06-14 10:43:51 · 338 阅读 · 0 评论 -
力扣---求指定字符串的无重复最长字串
int i = 0;//用于遍历字符串 int j = 0;//用于遍历子串 int n = 0;//用于保存最大长度 int index = 0;//用于指向子串的第一个元素 //abcabcdb while(s[i]!='\0'){ for (j = index; j < i; ++j) { printf("s[i]:%c s[j]:%c\n",s[i],s[j]); if (s[j] == s[i]) { break; } } pr..翻译 2020-06-03 21:55:55 · 189 阅读 · 0 评论 -
力扣---两数相加
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:(2 -> 4...原创 2020-06-02 08:18:27 · 179 阅读 · 0 评论