![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
每日算法
锻炼思维,提高自己
专注学习java
学习不进则退
展开
-
每日算法题--外观数列(简单)
题目描述给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 12. 113. 214. 12115. 111221第一项是数字 1 描述前一项,这个数是原创 2020-12-20 23:49:29 · 190 阅读 · 0 评论 -
每日算法题--搜索插入位置(简单)
题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0题解就是判断嘛!第一步:就是比较当这个目标值小于nums【0】的时候 int a=0;if (targ原创 2020-12-20 23:47:40 · 94 阅读 · 0 评论 -
每日算法题--实现strStr()(简单)
题目描述给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 ne原创 2020-12-20 23:46:14 · 79 阅读 · 0 评论 -
每日算法题--移除元素(简单)
题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2,2,原创 2020-12-17 23:09:46 · 166 阅读 · 0 评论 -
每日算法题--删除排序数组中的重复项(简单)
题目描述给定一个排序数组,你需要在** 原地** 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度原创 2020-12-15 19:44:26 · 134 阅读 · 0 评论 -
每日算法题--有效的括号(简单)
题目详情给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true将题解之前原创 2020-12-14 22:40:45 · 220 阅读 · 0 评论 -
每日算法题--最长公共前缀(简单)
题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。题解:还记得我们的第一步吗?写个算法拿个例子出来,会生动些撒!就拿示例一为例啊:示例 1:输入: ["flower","flow","flight"]原创 2020-12-13 19:55:10 · 194 阅读 · 0 评论 -
每日算法题--罗马数字转整数(简单)
题目描述:难度简单1146收藏分享切换为英文接收动态反馈罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写原创 2020-12-12 20:17:46 · 236 阅读 · 1 评论 -
每日算法题--回文数(简单)
题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串来解决这个问题吗?做算法就得想一个难点例子,这问题思路不就慢慢来了吗!!!!原创 2020-12-11 19:09:42 · 316 阅读 · 1 评论 -
每日算法题--整数反转(简单)
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2的31次方, 2的31次方 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。题解:首先进行数字反转,我们第一时间想的肯定是,怎么把数字拆分啊?回想一下所学的知识,用取余就能取到数字 了呗。原创 2020-12-10 22:13:22 · 207 阅读 · 1 评论 -
每日算法题--两数之和(简单)
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解:首先我们想的的是肯定是循环来做,设i,j两个循环遍历它的两个数,设置判断条件:当i!=j&&nu原创 2020-12-09 22:29:50 · 145 阅读 · 0 评论 -
每日算法题--杨辉三角(简单)
题目描述:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]动态图片演示:题解:首先,我们换一种思路看一下杨辉三角。11 11 2 11 3 3 11 4 6 4 1这就是个二维数组的形式。我们可以先设一个二维数组arr【x】【y】,然后根据图可知:当y=0的时候,都为1,当x=y的时候原创 2020-12-08 22:22:31 · 727 阅读 · 0 评论 -
转义字符的打印
显示以下文本(两行):这是一个 Windows 路径:“C:\Program Files\Java\jdk1.8.0_172\bin”这是一个 Java 字符串:“C:\Program Files\Java\jdk1.8.0_172\bin”提示:\” – 在文本中的此位置插入双引号字符。\ – 在文本中的此位置插入反斜杠字符。要求:• 该程序应输出文本。• 必须显示两行。• 第一行文本应为:这是一个 Windows 路径:“C:\Program Files\Java\jdk1.8.0_1原创 2020-11-08 15:58:49 · 1039 阅读 · 0 评论 -
乘法表(简单算法实现)
以下列格式显示 10 x 10 乘法表:1 2 3 4 …2 4 6 8 …3 6 9 12 …4 8 12 16 ……要求:• 该程序应输出文本。• 所显示的文本应包含 10 行。• 每个显示的字符串都必须包含 10 个数字,并用空格分隔。• 显示的数字必须构成一个乘法表。/* 乘法表*/public class Solution { public static void main(String[] args) { //在此编写你的代码原创 2020-11-08 15:48:38 · 580 阅读 · 0 评论 -
随机化快速排序之java代码
随机化快速排序使用Java或C++等语言中内置的随机函数实现随机化快速排序,在数组中随机选择一个元素作为分区的主元(Pivot)。输入多组样例输入,每组由一个一维整型数组组成。输出随机化快速排序之后的一维整型数组(升序排列)。样例输入 Copy6 1 8 6 5 3 45 12 42 2 5 8样例输出 Copy1 3 4 5 6 82 5 8 12 42代码实现impo...原创 2020-03-19 22:24:12 · 512 阅读 · 0 评论 -
冒泡、直接选择、反转排序的代码实现
在这里在这里插入代码片插入代码片@TOCpublic class Main { public static void main(String[] args) { int arr[] = new int[]{ 6, 5, 4, 3, 2 }; for(int x:arr) { System.out.print(x+" "); } //冒泡排序 /*for (int j = 1; j < arr.length ; j++) //比较相邻两个元素,较大的数往后冒泡。原创 2020-07-13 17:35:12 · 114 阅读 · 0 评论