![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
昊昊好好昊
这个作者很懒,什么都没留下…
展开
-
搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 输入:matrix =[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target = 5 输出:true 方法一:暴力解法:遍历二维数组 class Solution { public boolean searchM原创 2021-12-11 18:44:07 · 124 阅读 · 0 评论 -
多数元素-求众数
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素 输入:[3,2,3] 输出:3 输入:[2,2,1,1,1,2,2] 输出:2 分析:首先注意关键词,题目中说到多数元素是指数组中超过一半的元素。那么对其进行排序,则中间的数就是多数元素的值。 所以方法一:直接对其排序,然后找到中间的数即可。 class Solution { public int majorityElement原创 2021-12-10 13:33:00 · 129 阅读 · 0 评论 -
只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗 输入: [2,2,1] 输出: 1 异或还可以用于交换两个元素的位置,而且不用多余的空间。可以代替temp,swap方法。 a =a^b; b=a^b; a=a^b; 用这三个语句可以代替swap方法: 方法一:最优方法: 这里利用异或的原理,a ^a=0 ; a ^0 =a;异或具有交换律;两个相同的值异或后还是自己。原创 2021-12-09 18:17:09 · 589 阅读 · 0 评论 -
翻转字符串中的单词
给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。 示例 1: 输入:s = “the sky is blue” 输出:“blue is sky the” 示例 2: 输入:s = " hello world原创 2021-12-07 14:35:25 · 72 阅读 · 0 评论 -
最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 示例 2: 输入:s = “cbbd” 输出:“bb” 示例 3: 输入:s = “a” 输出:“a” 示例 4: 输入:s = “ac” 输出:“a” //方法一:中心扩展法 基本思路: 从某个元素开始,左右两边探索是否符合回文数并返回回文数的长度,比较并保存最长起始坐标和长度; 注意:回文数奇偶情况 时间复杂度:O(N^2) 空间复杂度:原创 2021-12-06 20:57:00 · 254 阅读 · 0 评论 -
字符串最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 示例 2: 输入:strs = [“dog”,“racecar”,“car”] 输出:"" 解释:输入不存在公共前缀。 本文用到的方法: 1,charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。 语法:public char charAt(int index) index原创 2021-12-04 21:13:43 · 103 阅读 · 0 评论 -
【无标题】
编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 示例 2: 输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5] ] 输出: [ [0,0,0,0], [0,4,5,0], [0,3,1,0] ] 每次找到等于零的那一个把对应的行和列都置零即可,但是会出现一个问题就是到最后所有的元素都变成零了; 因此,既然打算将整行原创 2021-12-02 20:35:50 · 74 阅读 · 0 评论 -
旋转矩阵-二维矩阵
【LeetCode】旋转矩阵(原地选择+翻转两种方法,java实现) class Solution { public void rotate(int[][] matrix) { int n=matrix.length; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ int temp =matrix[i][j];原创 2021-12-02 10:58:07 · 422 阅读 · 0 评论