算法学习
小jinx
在学习中成长
展开
-
java实现秦九韶算法解一元n次方程。
一元n次多项式可以写成如下形式^表示次方。f(x)=ax^n +bxn-1+c*xn-2+…+z输入双精度数组nums 来表示a-z这些常数。返回函数在x的函数值。你可以假设次方值是依次递减的,即 n等于nums 的长度减一。示例1:给定 nums = [3, 2, -9, 11,1], x= 4,计算函数 f(x)=3*x^4+2*x^3-9*x^2+11*x+1; 由于x=4;所以 f(4)= 3*4^4+2*4^3-9*4^2+11*4+1返回 f(3)=709示例2:原创 2021-04-01 14:43:56 · 1024 阅读 · 0 评论 -
力扣网---滑动窗口--二月打卡
计划把力扣2月打卡徽章拿下,坚持每日打卡学习。这月是滑动窗口月。这里写目录标题滑动窗口介绍简单题公平的糖果棒交换子数组最大平均数 I中等尽可能使字符串相等替换后的最长重复字符最长湍流子数组困难滑动窗口中位数滑动窗口介绍维护一个移动的窗口来处理在数组中运算。避免反复的重复计算,只需要关注每次窗口移动增加和减少的数值就行了。简单题公平的糖果棒交换 /** * 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小。原创 2021-02-08 14:07:58 · 535 阅读 · 1 评论 -
力扣网---并查集---一月每日打卡
目录并查集介绍冗余连接保证图可完全遍历账户合并连接所有点的最小费用找到最小生成树里的关键边和伪关键边并查集介绍看这篇介绍了解并查集:酱懵静------并查集冗余连接/** * 在本问题中, 树指的是一个连通且无环的无向图。 * * 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 * * 结果图是一个以边组成的二维数组。每一个原创 2021-02-08 11:19:30 · 527 阅读 · 0 评论 -
力扣网-贪心算法(JAVA实现)---中等(二)
分类记录力扣网刷题的笔记。也算对自己的督促。目录738. 单调递增的数字738. 单调递增的数字问题描述给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N 是在 [0, 1原创 2020-12-15 16:03:56 · 218 阅读 · 0 评论 -
力扣网---贪心算法(JAVA实现)---中等(一)
目录55,跳跃游戏134,加油站376,摆动序列55,跳跃游戏问题描述:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最原创 2020-11-26 16:16:24 · 524 阅读 · 0 评论 -
力扣网---贪心算法(JAVA实现)----简单(一)
删列造序944问题描述:给定由 N 个小写字母字符串组成的数组 A,其中每个字符串长度相等。你需要选出一组要删掉的列 D,对 A 执行删除操作,使 A 中剩余的每一列都是 非降序 排列的,然后请你返回 D.length 的最小可能值。删除 操作的定义是:选出一组要删掉的列,删去 A 中对应列中的所有字符,形式上,第 n 列为 [A[0][n], A[1][n], …, A[A.length-1][n]])。(可以参见 删除操作范例)示例 1:输入:[“cba”, “daf”, “ghi”].原创 2020-11-25 16:48:10 · 675 阅读 · 0 评论 -
练习下经典的N皇后问题 java
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[".Q…", // 解法 1“…Q”,“Q…”,“…Q.”],["…Q.", // 解法 2“Q…”,“…Q”,“.Q…”]]解释: 4 皇后问题存在两个原创 2020-08-06 09:30:55 · 214 阅读 · 0 评论 -
java算法技巧总结
总结java在算法题中的一些常用方法,也方便自己回顾。集合转化为数组调用list的toArray()方法,在构造的数组的时候需要new一个对应长度的空数组。 List<Integer> list=new ArrayList<>(); list.add(1); list.add(3); list.add(87...原创 2019-10-21 13:17:08 · 427 阅读 · 0 评论 -
java实现逆波兰表达式求值
java实现逆波兰表达式什么是逆波兰表达式逆波兰表达式又叫做后缀表达式。逆波兰表示法是波兰逻辑学家J・卢卡西维兹(J・ Lukasewicz)于1929年首先提出的一种表达式的表示方法 [1] 。后来,人们就把用这种表示法写出的表达式称作“逆波兰表达式”。逆波兰表达式把运算量写在前面,把算符写在后面。逻辑提问式类似于算术表达式,对于检索而言,这种表达式并不是最优和最简洁的形式,需要进行必要...原创 2019-10-10 16:09:15 · 3970 阅读 · 1 评论 -
力扣网-探索初级算法-字符串
继续在力扣网用java练题,不过发现你只要提交就会有一群分析,评论。发帖就意义不大了。主要作为自己的笔记吧,后面再把算法运行速度优化下。下面是题目链接:力扣网 探索初级算法 字符串 跳转链接 字符串反转字符串public static void reverseString(char[] s) { int len=s.length; for ...原创 2019-08-02 11:33:07 · 522 阅读 · 0 评论 -
力扣网-探索初级算法-数组篇
本篇博客题目来自力扣网,分组为初级算法下的数组。适合作为数组方面的练习。上面刷题测试用例真的丰富,总是有很多考虑不到的地方。第一遍做完了,很多解法都不是最优解。主要是分享下。探索初级算法—力扣网链接数组题目的话打开上面的链接就可以看到,这里就不复述了。从排序数组中删除重复项 public int removeDuplicates(int[] nums) { int...原创 2019-07-27 16:46:48 · 1105 阅读 · 1 评论 -
经典算法50例 老鼠走迷宫1,2
本文来源和参考于经典算法50例。只不过把c换成java来实现。老鼠走迷官(一)说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表示老鼠的行走路径,试以程式求出由入口至出口的路径。解法老鼠的走法有上、左、下、右四个方向,在每前进一格之后就选一个方向前进,无法前进时退回选择下一个可前进方向,如此在阵列中依序测试四个方向,直到走到出口为止,这是递回的基本题,请直...原创 2019-06-30 21:42:44 · 3990 阅读 · 3 评论 -
一种排列好看巴斯卡三角形
在经典算法50上看到的算法。算法精妙浓缩到p = p * (n-i+1) / i;上。 但是这个打印出来的金字塔不好排列,我写了两个方法把他改好看一点,使用最大数的长度+2来做为标准的间隔。高度 n=6高度 n=12代码如下: public static void main(String[] args) { int N=6; //三角形的行高。 in...原创 2019-07-03 17:39:54 · 290 阅读 · 0 评论