![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 64
常见java算法
FullStackDeveloper
这个作者很懒,什么都没留下…
展开
-
字符串算法之一——字符串反转
博客结构1.原题1.题目2.分析3.思路4.实现用简单通俗易懂的话来记录自己对数组算法的理解1.原题1.题目编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]2.分析3.思路1.定义一个长度m+n的数组inteArr,将每个字符串转化为Char[]原创 2021-06-12 23:47:03 · 178 阅读 · 0 评论 -
字符串算法之一——整数型字符串运算
博客结构1.原题1.题目2.分析3.思路4.实现用简单通俗易懂的话来记录自己对数组算法的理解1.原题1.题目给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:1. num1 和 num2 的长度小于110。2. num1 和原创 2021-06-12 12:06:18 · 430 阅读 · 0 评论 -
数组算法之二——双指针法
博客结构1.原题1.题目2.分析1.分析3.思路4.代码用简单通俗易懂的话来记录自己对数组算法的理解1.原题1.题目给定n个非负整数a1,a2,…,an,其中每个数字表示坐标(i, ai)处的一个点。以(i,ai)和(i,0)(i=1,2,3…n)为端点画出n条直线。你可以从中选择两条线与x轴一起构成一个容器,最大的容器能装多少水?注意:你不能倾斜容器输入 [1,8,6,2,5,4,8,3,7]输出: 492.分析1.分析要求面积最大,只要做个遍历,把所有组合求出来即可,但是,这样的原创 2021-06-11 23:47:33 · 167 阅读 · 0 评论 -
数组算法之一——有序数组去重
博客结构1.原题1.题目2.分析1.分析3.思路4.代码5.巨人肩膀用简单通俗易懂的话来记录自己对数组算法的理解1.原题1.题目给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?示例 1:输入:nums = [1,1,1,2,2,3]输出:5, nums = [1,1,2,2,原创 2021-06-11 18:23:18 · 1361 阅读 · 0 评论 -
算法入门之一——时间复杂度与空间复杂度
博客结构1.算法1.定义2.核量指标2.时间复杂度1.表示方式2.推导过程3.分类常数阶O(1)对数阶O(logN)线性阶O(n)线性对数阶O(nlogN)平方阶O(n²)立方阶O(n³)K次方阶O(n^k)指数阶(2^n)3.空间复杂度定义分类O(1)O(n)O(n^2)4.巨人肩膀用简单通俗易懂的话来记录自己对算法的理解1.算法1.定义算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很原创 2021-06-05 21:41:42 · 239 阅读 · 1 评论 -
动态规划算法之一——动态规划入门
博客结构1.动态规划算法是什么1.动态规划思想2.动态规划核心2.动态规划算法局限3.动态规划算法应用场景4.站在巨人肩膀用简单通俗易懂的话来记录自己对动态规划算法的理解1.动态规划算法是什么1.动态规划思想动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能原创 2021-06-04 23:57:15 · 306 阅读 · 0 评论