
算法
一只小八角
这个作者很懒,什么都没留下…
展开
-
数组类算法题
1. 求两数和给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足index1 小于index2.。注意:下标是从1开始的public int[] twoSum (int[] numbers, int target) { // write code here Map<Integer, Integer> map = new HashMap<>();.原创 2021-04-06 21:34:26 · 477 阅读 · 0 评论 -
二叉树的前序、中序、后序、层次、之字形层次遍历
二叉树的遍历* 遍历方式:中序遍历 左-根-右* 前序遍历 根-左-右* 后序遍历 左-右-根* 层次遍历 从上往下遍历* 遍历常考算法题与实现思路:* ①求二叉树的层次遍历:对于不为空的结点,先把该结点加入到队列中;从队中拿出结点,如果该结点的左右结点不为空,* 就分别把左右结点加入到队列中;重复以上操作直到队列为空。* ②求二叉树的之字形层次遍历:与层次遍历类似.原创 2021-03-31 21:56:58 · 112 阅读 · 0 评论 -
使用链表建立二叉树
package tree;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * @author Eightn0 * @create 2021-03-31 18:45 * 用链表建树 */class TreeNode{ int value; TreeNode left_Node; TreeNode right_No...原创 2021-03-31 20:05:31 · 717 阅读 · 0 评论 -
Java解决LCS问题
package dynamicprogramming;/** * @author Eightn0 * @create 2021-03-30 10:48 * 分析: * LCS问题有两种,求两个字符串的最长公共序列、最长相同子串 * 若字符串A为"helloworld",字符串B为"lol",则AB的最长公共子序列为"lol",最长公共子串为"lo"。 * 对于字符串A和字符串B来说,设A的长度为lena,B的长度为lenb,A的第i个元素为i,B的第j个元素为j * 状态res[i,j.原创 2021-03-30 14:13:25 · 315 阅读 · 1 评论 -
数组最大和
package dynamicprogramming;/** * @author Eightn0 * @create 2021-03-29 19:11 * 题目:给定一个数组arr,返回子数组的最大累加和 例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12. 题目保证没有全为负数的数据 要求:时间复杂度为O(n),空间复杂度为O(1) 分析:对于动态规划问题来.原创 2021-03-29 21:26:39 · 337 阅读 · 0 评论 -
动态规划——通配符匹配
package greedy;import com.sun.org.apache.bcel.internal.generic.IfInstruction;import java.util.concurrent.ForkJoinPool;/** * @author Eightn0 * @create 2021-03-25 10:24 * 要求:请实现支持'?'and'*'.的通配符模式匹配,'?' 可以匹配任何单个字符,'*' 可以匹配任何字符序列(包括空序列), * 返回两个.原创 2021-03-28 18:40:18 · 237 阅读 · 0 评论 -
贪心算法——股票交易的最大收益
/*** @author Eightn0* @create 2021-03-25 10:03* 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。*/public class Stock { public int maxProfit (int[] prices) { int profit = 0; for (int i ...原创 2021-03-25 10:36:24 · 669 阅读 · 0 评论 -
繁殖问题——母羊生小母羊
/** * @author Eightn0 * @create 2021-03-17 20:09 * 说明:第二年、第四年下崽,第五年死去,第15年有几只羊? * 分析:这是一个繁殖问题,可以用递归的思想解决 *///定义一个羊,有生和死两种方法public class SheepCount { public int Sheep(int year){ if (year < 0){ return 0; } .原创 2021-03-18 20:55:13 · 685 阅读 · 0 评论 -
斜对角打印
昨天笔试没做出来斜对角打印,心态崩了,今天再做一遍/** * @author Eightn0 * @create 2021-03-17 19:03 * 功能:斜对齐打印m*n数组 */public class PrintNums { public static void main(String[] args) { //提示输入一个m*n的数组 System.out.println("本程序用于斜对齐打印数组,请输入数组的长:"); Sca.原创 2021-03-18 20:35:56 · 362 阅读 · 0 评论