刷题(简单难度)
刷刷刷,提高自己基础
努 力 小 子
憨憨一个
展开
-
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。不能直接将输入的字符串转换为整数形式。思路:将字符串从最小位进行相加,最后形成的字符串倒置class Solution { public String addStrings(String num1, String num2) { int i = num1.length() - 1, j = num2.length() - 1, add = 0; int x,y,result; S原创 2020-08-03 19:31:14 · 2284 阅读 · 0 评论 -
两数之和——双指针法
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, inde原创 2020-07-20 15:35:10 · 2036 阅读 · 0 评论 -
翻转二叉树
示例:输入: 4 2 7 1 3 6 9输出: 4 7 2 9 6 3 1观察原二叉树后可以发现左小右大,而反转后左大右小。因此翻转的规律是从根节点开始将每一个节点都左右交换位置。那么怎么做呢?首先二叉树的方法最先想到的一般是递归。递归的思路:①寻找设置出口,没有出口,递归会出现死循环。这道题的出口明显原创 2020-07-19 16:51:26 · 159 阅读 · 0 评论 -
查询成绩(要求用链表完成)
Description知道如何创建链表了。本题继续要求用链表完成。输入同学成成绩后,现在再输入1个同学的姓名,输出该同学的成绩。Input输入一些学生的信息,每个学生信息一行,分别为学号、姓名和成绩,中间用空格隔开,其中学号和成绩均为整数,姓名为不超过15个仅包含大小写字母的字符。如果输入的一行是非正整数时,表示结束在成绩结束后,输入一行,为一个同学的姓名Output输出一个整数,...原创 2020-03-02 07:43:06 · 1340 阅读 · 0 评论 -
贪心之判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = “...原创 2020-02-29 19:06:49 · 261 阅读 · 0 评论 -
最大子序和(贪心)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。这道题目类似于贪心算法之买卖股票的最佳时机 II,但是属于升级版本,因为这道题中子数组要求连续,你得确定一段数组是它内部元素相加值最大。当然,我做任何题目...原创 2020-02-29 11:52:20 · 536 阅读 · 0 评论 -
多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2两种情况:1.只有一个元素,输出该元素2.多个元素,元素出现此处>总次数的一半排序可用sort函数法一:排序...原创 2020-02-09 19:06:15 · 264 阅读 · 0 评论 -
合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,...原创 2020-02-09 10:20:48 · 201 阅读 · 0 评论 -
加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思路:末位加一...原创 2020-02-08 16:00:41 · 265 阅读 · 0 评论 -
移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为...原创 2020-02-08 12:49:57 · 143 阅读 · 0 评论 -
数组之删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums ...原创 2020-02-08 10:16:01 · 205 阅读 · 0 评论 -
数组之两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]法一:暴力破解cla...原创 2020-02-08 09:26:42 · 422 阅读 · 0 评论 -
输入有序数组返回下标
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], targe...原创 2020-02-06 12:54:50 · 743 阅读 · 0 评论 -
二分搜索之x平方根(保留整数)
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。法一:暴力破解,直接从1开始计算平方,但暴力破解往往通不过。法二:二分搜索思路:m...原创 2020-02-04 16:07:28 · 485 阅读 · 0 评论 -
二分查找之搜索插入位置
二分查找的前提:已排序,若无序则先排序可以用sort()函数进行排序。sort()函数:https://blog.csdn.net/z2431435/article/details/104092292思路:设定一个left,一个right。left为初端,right为终端。再设置一个mid为中间值,用中间值和给定值比较,相同则返回mid;过小则令left=mid+1;过大则令right=m...原创 2020-02-03 21:17:24 · 1749 阅读 · 0 评论 -
贪心算法之柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。示例 1:输入:[5,5,5...原创 2020-01-28 19:10:39 · 1785 阅读 · 1 评论 -
贪心算法之分发饼干
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口值为正。一个小...原创 2020-01-27 15:19:37 · 566 阅读 · 0 评论 -
贪心算法之买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获...原创 2020-01-26 15:43:23 · 396 阅读 · 0 评论