Code Monkey home page Code Monkey logo

leetcode's Introduction

leetcode

LeetCode Problems' Solutions

leetcode's People

Contributors

weycen avatar

leetcode's Issues

28.实现strStr()

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

88.合并两个有序数组

🚀 题解

题目描述

题目名称:88. 合并两个有序数组

TODO

解题参考

TODO

思路及代码

方法一:正向双指针法

思路

从两个数组左部开始扫描,每次取较小值,追加到已排序数组右部。

代码

TODO

方法二:逆向双指针法

思路

从两个数组右部开始扫描,每次取较大值,追加到已排序数组左部。

还有要说的?

TODO

119.杨辉三角II

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

48.旋转图像

🚀 题解

题目描述

题目名称:48. 旋转图像

给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

解题参考

官方题解-旋转图像
实现矩阵旋转的两种方法:自外向内 & 两次旋转
旋转图像 | 操作分解 | 超简洁易懂的代码 【c++/java详细题解】

思路及代码

方法一:自外向内按圈旋转

思路

每一圈需交换边长减一轮,每轮交换4次像素,重点是找四次交换的像素坐标与圈数ring、轮数i、边长colsize三个参数的关系;

代码

src/1.两数之和.c

方法二:两次翻转

思路

  1. 先以左上-右下对角条线为轴做翻转;
  2. 再以中心的竖线为轴做翻转;

还有要说的?

TODO

56.合并区间

🚀 题解

题目描述

题目名称:56. 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

解题参考

官方题解-合并区间
纯C LeetCode二维数组参数使用小结
56. 合并区间

思路及代码

方法一:先排序再合并

思路

  1. 先对区间按左边界进行排序;
  2. 再从左到右对有重叠的区间进行合并;

代码

56.合并区间.c

还有要说的?

qsort()函数可以对数组(数组元素可以是结构体,或仍是数组)进行快速排序,需输入数组元素比较大小的函数。

724.寻找数组的中心下标

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

面试题01.08.零矩阵

🚀 新建题解

题目描述

题目名称:面试题 01.08. 零矩阵

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

解题参考

官方题解-零矩阵

思路及代码

方法一:使用标记数组

思路

不能一边遍历一边清零行/列,会导致整个矩阵被清零。我们可以用两个标记数组分别记录矩阵中每一行和每一列是否有零出现。

具体地,我们首先遍历该数组一次,如果某个元素为 0,那么就将该元素所在的行和列所对应标记数组的位置置为 true。最后我们再次遍历该数组,用标记数组更新原数组即可。

代码

src/面试题01.08.零矩阵.c

方法二:使用矩阵首行/列作标记数组

思路

我们可以用矩阵的第一行和第一列代替方法一中的两个标记数组,以达到 O(1)O(1) 的额外空间。但这样会导致原数组的第一行和第一列被修改,无法记录它们是否原本包含 00。因此我们需要额外使用两个标记变量分别记录第一行和第一列是否原本包含 00。

在实际代码中,我们首先预处理出两个标记变量,接着使用其他行与列去处理第一行与第一列,然后反过来使用第一行与第一列去更新其他行与列,最后使用两个标记变量更新第一行与第一列即可。

方法三:只使用一个标记变量

思路

我们可以对方法二进一步优化,只使用一个标记变量记录第一列是否原本存在 00。这样,第一列的第一个元素即可以标记第一行是否出现 00。但为了防止每一列的第一个元素被提前更新,我们需要从最后一行开始,倒序地处理矩阵元素。

还有要说的?

TODO

485.最大连续1的个数

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

283.移动零

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

209.长度最小的子数组

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

118.杨辉三角

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

704.二分查找

🚀 题解

题目描述

题目名称:704. 二分查找

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

162.寻找峰值

🚀 题解

题目描述

题目名称:162. 寻找峰值

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

75.颜色分类

🚀 题解

题目描述

题目名称:75. 颜色分类

TODO

解题参考

TODO

思路及代码

方法一:单指针扫描两遍

思路

我们可以考虑对数组进行两次遍历。在第一次遍历中,我们将数组中所有的 00 交换到数组的头部。在第二次遍历中,我们将数组中所有的 11 交换到头部的 00 之后。此时,所有的 22 都出现在数组的尾部,这样我们就完成了排序。

代码

TODO

方法二:双指针(两个指针同向而行)

思路

使用两个指针索引P0和P1,初始均为0,从左至右扫描。
找到0将其与P0处值交换,P0++;如果P0<P1,再交换i和P1;
找到1将其与P1处值交换,P1++;

代码

TODO

方法三:双指针分界法(两个指针对向而行)

思路

代码

TODO

还有要说的?

TODO

561.数组拆分 I

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

50.Pow(x,n)

🚀 题解

题目描述

题目名称:50. Pow(x, n)

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

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

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

LeetCode刷题第三阶段:51~100

LeetCode刷题第三阶段:51~100

  • 51

  • 52

  • 53

  • 54

  • 55

  • 56

  • 57

  • 58

  • 59

  • 60

  • 61

  • 62

  • 63

  • 64

  • 65

  • 66

  • 67

  • 68

  • 69

  • 70

  • 71

  • 72

  • 73

  • 74

  • 75

  • 76

  • 77

  • 78

  • 79

  • 80

  • 81

  • 82

  • 83

  • 84

  • 85

  • 86

  • 87

  • 88

  • 89

  • 90

  • 91

  • 92

  • 93

  • 94

  • 95

  • 96

  • 97

  • 98

  • 99

  • 100

557.反转字符串中的单词III

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

69.Sqrt(x)

🚀 题解

题目描述

题目名称:69. Sqrt(x)

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

27.移除元素

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

344.反转字符串

🚀 题解

题目描述

题目名称:344. 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

解题参考

官方题解-反转字符串

思路及代码

方法一:双指针

思路

  1. 将 left 指向字符数组首元素,right 指向字符数组尾元素。
  2. 当 left < right:
  • 交换 s[left] 和 s[right];
  • left 指针右移一位,即 left = left + 1;
  • right 指针左移一位,即 right = right - 1。
  1. 当 left >= right,反转结束,返回字符数组即可。

代码

344.反转字符串.c

还有要说的?

LeetCode刷的第10道题!从今年2月份到现在,8个月了,真不容易,继续努力吧...

35.搜索插入位置

🚀 题解

题目描述

题目名称:TODO

TODO

解题参考

TODO

思路及代码

方法一:TODO

思路

TODO

代码

TODO

还有要说的?

TODO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.