![](https://img-blog.csdnimg.cn/20210508225325378.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode简单
渣渣辉一个,有错请指出!无则加勉!
想实习犯法吗
我很懒,不想简介给你看!
展开
-
LeetCode69.x的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。暴力解法class Solution { public int mySqrt(int x) { long i=1; while(i*i<=x){原创 2021-05-18 23:38:16 · 86 阅读 · 0 评论 -
LeetCode67.二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”思路:// 1 1 进位为0 carry=1,该位为0 进位为1 carry=1,该位为1// 1 0或0 1 进位为0 carry=0 该位为1 进位为1,carry=1,该位为0// 0 0 进位为0 carry=0 该位为0 进位为1原创 2021-05-17 12:10:41 · 88 阅读 · 0 评论 -
Leetcode 66.加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。我的思路将数组转换为数字加一后再转化为数组,但是发现会有溢出问题(pass)解法末位无进位,则末位加一即可,因为末位无进位,前面也不可能产生进位,比如 45 => 46末位有进位,在中间位置进位停止,原创 2021-05-16 17:52:05 · 90 阅读 · 0 评论 -
LeetCode 53.最大子序和
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。个人除了暴力解法么有思路。。。。官方解法1:贪心算法class Solution { public int maxSubArray(int[] nums) { if(nums.length==1)原创 2021-05-13 16:02:25 · 99 阅读 · 0 评论 -
Leetcode 38.外观数列
题目给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”描原创 2021-05-12 13:43:01 · 89 阅读 · 0 评论 -
LeetCode 28.实现strStr()KMP算法
**题目:**实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。相关内容(1)charAt() 方法原创 2021-05-11 14:05:00 · 78 阅读 · 0 评论 -
LeetCode 27.移除元素
题目27给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。//你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何原创 2021-05-10 12:56:17 · 90 阅读 · 0 评论 -
LeetCode 21.合并两个有序链表
**题目:**将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。题解1(迭代)创建一个新的链表,用cur为头部开始连接,选取两个链表中的较小元素放入新的链表中,最后如果还剩余某个链表,则将其剩下的全部内容连接到新的链表中。创建一个哑结点来处理边界条件ListNode preHead=new ListNode(0);public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1原创 2021-05-09 16:51:30 · 141 阅读 · 0 评论 -
LeetCode 20.有效的括号
题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。题解1:很显然看到这个题的想法就是使用栈来进行栈 Stack的基本使用:初始化Stack stack=new Stack()判断是否为空stack.empty()取栈顶值(不出栈)stack.peek()进栈stack.push(Object);出栈stack.pop();思路:(1原创 2021-05-08 12:40:59 · 127 阅读 · 0 评论 -
LeetCode 14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。1.String和char类型之间的互相转换String->char String.toCharArray()char->String String s = String.valueOf('c'); //效率最高的方法 String s = Character.toString('c');...原创 2021-05-07 21:11:46 · 100 阅读 · 0 评论 -
LeetCode 1486.数组异或操作
题目描述:给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。题解1:暴力解法int xorOperation(int n, int start){ int result = start, i; for (i = 1; i < n; i++) { result = result ^ (原创 2021-05-07 13:46:05 · 127 阅读 · 0 评论 -
leetcode 07.整数翻转
1.给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。-2147483648=-231<x<231-1=2147483647难点:给定了数值的范围,需要对结果进行判断**解法1:**将翻转过程的结果设置成long类型的数据,在翻转完成后,对数值进行判断(好像不符合题意,但我看到大佬的解法,我内心os:牛批) pu原创 2021-05-06 10:21:59 · 70 阅读 · 0 评论 -
HashMap&& LeetCode 13.罗马数组转换为整数
1.HashMap 类位于 java.util 包中,使用前需要引入它,语法格式如下:import java.util.HashMap; // 引入 HashMap 类2.HashMap<Integer,String> hashmap=new HashMap<>();基本类型 引用类型boolean Booleanbyte Byteshort Shortint Integerlong Longfloat原创 2021-05-06 13:22:28 · 115 阅读 · 0 评论