ICode9

精准搜索请尝试: 精确搜索
  • 2day2021-10-25 01:04:32

    给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现? 示例 1: 输入:nums = [1,2,1,3,2,5] 输出:[3,5] 解释:[5, 3] 也

  • C语言刷数组题记录2021-10-16 17:00:08

       讲解:https://mp.weixin.qq.com/s/weyitJcVHBgFtSc19cbPdw   二分法: 704. 二分查找 int search(int* nums, int numsSize, int target) { int left = 0; int right = numsSize; while (left < right) { // int cur = (left + right) / 2; int

  • 删除有序数组的重复项--C语言--力扣2021-10-03 23:29:55

    给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用

  • 915.[C]分割数组2021-09-23 17:02:53

    题目描述 解题思路 假如按i分割,【0···i】为left,【i+1···numsSize-1】为right,maxLeft【i】为按i分割时left中的最大值,minRight【i】为按i分割时right中的最小值。遍历得到所有maxLfet【i】和minRight【i】,找出最小的i使maxLeft【i】<=minRight【i】即可 代码

  • 搜索插入位置2021-09-16 14:02:07

    写得不好,勿喷!感谢!感恩! int searchInsert(int* nums, int numsSize, int target) { int slow=0,fast=0; while(fast<numsSize) { if(nums[fast]==target) { slow=fast; break; } else if(nums[fast

  • 2021-09-062021-09-06 22:59:41

    初阶数据结构顺序表OJ题 文章目录 初阶数据结构顺序表OJ题 移除数组删除有序数组中的重复项 移除数组 删除有序数组中的重复项 题目的链接 分析如下图: 思路一和思路二都不符合题目的要求 int removeElement(int* nums, int numsSize, int val) { int src = 0,ds

  • 5.0 数据结构之排列与组合2021-08-15 18:57:59

    编程总结 本篇参考liuyubobo 46. 全排列 思路:DFS /* 定义当前遍历深度count为全局变量 */ int gCount; void DFS(int *nums, int numsSize, int depth, int *path, int *visited, int **res) { // 递归终止条件,满足 depth == numSize if (depth == numsSize) { res[

  • 旋转数组(初级算法)——多种方法求解2021-07-31 19:01:11

    题目: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入:  nums = [1,2,3,4,5,6,7],  k = 3 输出:  [5,6,7,1,2,3,4] 解释: 向右旋转 1 步:  [7,1,2,3,4,5,6] 向右旋转 2 步:  [6,7,1,2,3,4,5] 向右旋转 3 步:  [5,6,7,1,2,3,4] 示例 2:

  • 剑指 Offer 42. 连续子数组的最大和2021-07-17 12:02:04

    剑指 Offer 42. 连续子数组的最大和 有关题目题解 题目链接: 剑指 Offer 42. 连续子数组的最大和 有关题目 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。 求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1

  • 力扣(LeetCode)刷题,简单+中等题(第36期)2021-06-29 19:01:45

    目录 第1题:连续的子数组和 第2题:连续数组 第3题:相交链表 第4题:目标和 第5题:最后一块石头的重量 II 第6题:构造矩形 第7题:零钱兑换 II 第8题:完全平方数 第9题:不同路径 II 第10题:石子游戏 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求

  • C算法--旋转数组2021-06-07 08:52:19

    第一:题目描述 1. 将一个数组向右移动k个元素 2. 移出的元素一次再填充到数组的开头 3. 例如:数组为[1, 3, 5, 7, 9, 11, 13];移动3个元素为[9, 11, 13, 1, 3, 5, 7] 第二:思路 1. 将数组的前一部分进行对称旋转 2. 将数组的后一部分进行对称旋转 3. 将数组整体进行对称旋转 如: 原

  • 力扣每日一题2021-05-31 18:59:45

    两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 本人比较菜,通过参考别

  • leetcode刷题day22021-05-23 10:05:27

    本题来源于 面试题 17.04. 消失的数字 题目如下: 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作改动 示例 1: 输入:[3,0,1] 输出:2 示例 2: 输入:[9,6,4,2,3,5,7,0,1] 输出:8 思路 此题有两种比

  • 力扣刷题数组35题搜索插入位置(c语言)2021-05-16 15:59:55

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4:

  • 每日LeetCode - 27. 移除元素(C语言)2021-05-10 20:02:28

      C语言 //双指针 int removeElement(int* nums, int numsSize, int val){ int i=0,j; for (int j=0;j<numsSize;j++){ if(nums[j]!=val){ nums[i]=nums[j]; i++; } } return i; }  

  • 剑指 Offer 07. 重建二叉树2021-05-09 13:04:32

    【题目来源】 https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/ 【题目内容】 【解题思路】 思路一:遍历(超出时间限制) 将数组中的每一个数字和后面的所有数字进行比较,当发现相等时,即为结果。 int findRepeatNumber(int* nums, int numsSize){ // 遍历 f

  • 剑指 Offer 03. 数组中重复的数字2021-04-24 14:02:10

    【题目来源】 https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/ 【题目内容】 【解题思路】 思路一:遍历(超出时间限制) 将数组中的每一个数字和后面的所有数字进行比较,当发现相等时,即为结果。 int findRepeatNumber(int* nums, int numsSize){ //

  • LeetCode:移除元素2021-04-19 11:34:31

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。   说明: 为什么返回数值是整

  • LeetCode刷题笔记(简单)---数组中两元素的最大乘积(C语言,两种思路)2021-04-16 22:59:26

    题目如下: 第一种思路当然是万能的暴力破解法: int maxProduct(int* nums, int numsSize){ int max=0; for(int i=0;i<numsSize;i++) { for(int j=i+1;j<numsSize;j++) { max = max>(nums[i]-1)*(nums[j]-1)?max:(nums[i]-1)*(nums[j

  • leetcode -- 15. 三数之和2021-04-06 20:57:42

    题目 https://leetcode-cn.com/problems/3sum/ 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1

  • LeetCode 189. 旋转数组 C语言解2021-03-31 11:01:09

    189. 旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 进阶: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗? 示例 1: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6

  • LeetCode刷题笔记(简单)---有多少小于当前数字的数字(C语言)2021-03-25 13:02:07

    本题很简单了。 int* smallerNumbersThanCurrent(int* nums, int numsSize, int* returnSize){ int* res = malloc(sizeof(int) * numsSize); int count=0; for(int i=0;i<numsSize;i++) { for(int j=0;j<numsSize;j++) { if(

  • 《LeetCode力扣练习》第15题 C语言版 (做出来就行,别问我效率。。。。)2021-03-22 21:32:08

    库你急哇,哈集美马戏特~~ 一题二写,三数之和,题解四瞅五瞄六瞧,水平还七上八下九流,十分辣鸡。 十推九敲,八种思路,用光七情六欲五感,在这里四覆三翻二挠,一拳爆屏。 十赢九输,赢了八千,七百六十五万,打了四个三带二,爽的一批 一天两道,三月打卡,刷的四分五裂六离,现在是七零八落九散,十分难受

  • 双指针的空间分配2021-03-08 19:01:35

    参考leetcode15题: 其中参数 int** returnColumnSizes 表示返回数组中每一行的列数: 分配: *returnColumnSizes = (int*)malloc(numsSize * numsSize *sizeof(int)); 使用: (*returnColumnSizes)[*returnSize] = 3; /* 返回数组当前行的列数为3 */ 其中返回数组ret为

  • 学习笔记:gdb2021-02-23 18:03:22

    GDB是调试命令工具 前提:编译的时候需要-g 使用: gdb a.out或者gdb先进入,再输入file a.out 常用命令 gcc -g #使用该参数编译可执行文件,得到调试表 gdb a.out gdb 命令行 help:查看命令帮助,简写h。help + 命令 run:开始运行程序,简写r。run args[1] args[2] … start:开始运行

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有