
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 · 184 阅读 · 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 · 195 阅读 · 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 · 645 阅读 · 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 · 124 阅读 · 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 · 287 阅读 · 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 · 142 阅读 · 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 · 114 阅读 · 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 · 511 阅读 · 0 评论