算法
文章平均质量分 58
起个花名好难
Java路漫漫其修远兮,吾将上下而求索...
展开
-
基于Java实现环形队列的添加数据、取出数据、返回队头数据
基于Java实现环形队列一、定义一个队列类,包含类的构造方法及操作方法。二、新建队列类的操作类,测试其操作方法。 一、定义一个队列类,包含类的构造方法及操作方法。 //定义一个队列类,包含队列的构造方法及操作方法。 class ArrQueue{ //maxsize表示数组最大容量 private int MaxSize; //front指向队列的第一个元素,即arr[0] private int front; //rear指向队为的最后一个元素的下一位置,希望空出一原创 2021-04-21 13:55:09 · 719 阅读 · 1 评论 -
递归,迭代,青蛙跳台问题
递归迭代一、青蛙跳台问题二、青蛙跳台问题plus三、一个比较有意思的题: 一、青蛙跳台问题 1、一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1 解题思路: 最后一步跳上台阶有两种方法,从n-1上跳一阶台阶,或者从n-2阶跳两节台阶,因此f(n)=f(n-1)+f(n-2),由此递推。 法一:迭代 public static int numWays(原创 2021-04-17 16:08:25 · 200 阅读 · 0 评论 -
迷宫问题
迷宫问题一、问题描述二、定义迷宫三、显示迷宫四、解决迷宫问问题五、完整代码奉上: 一、问题描述 小球从起点出发能否走到终点,如果能就返回true,如果不能就返回false。 解题思路: 首先将迷宫问题转化为计算机能处理的问题。 1、假设一个二维数组来代替迷宫,二维数组第一行,第一列;最后一行、最后一列为墙。数组[3][1],数组[3][2]也是墙。 2、在数组中用1表示墙,0表示此处还未走过,2表示此路能走通,3表示此路走不通。 3、设置小球行走的方式,下–>右–>上–>左(也可以是其他原创 2021-04-15 15:16:50 · 111 阅读 · 0 评论 -
基于Java实现单链表反转的多种方法
基于Java实现单链表反转的多种方法一、原地反转二、新建链表头结点插法三、利用栈结构实现链表的反转四、完整代码奉上 对于单链表不熟悉的可以看一下基于Java实现单链表的增删改查 一、原地反转 1、新建一个哨兵节点下一结点指向头结点 2、把待反转链表的下一节点插入到哨兵节点的下一节点 反转之前的链表:1–>2–>3–>4>–>5 加入哨兵节点:dummp–>1–>2–>3–>4>–>5 原地反转: 定义:prev=dummp.next;原创 2021-04-10 20:16:59 · 574 阅读 · 1 评论 -
基于Java实现单链表的增删改查
基于Java实现单链表的增删改查一、新建学生节点类二、新建一个操作链表的类,实现增删改查方法三、新建操作链表类的实现类实现其增删改查功能 一、新建学生节点类 Stu_Node节点包含: 学号:int num; 姓名:String name; 性别:String gender; 下一个节点:Stu_Node next; 为了便于打印节点内容需要重写toString方法 class Stu_Node{ int num; String name; String gender;原创 2021-04-07 17:07:51 · 914 阅读 · 8 评论 -
一个纯数字字符串S,请返回连续单一数字字串的个数
题目描述: 给你一个纯数字字符串S,请返回连续单一数字子串的个数。 提示:1<= S.length<=1000 输入描述: 输入:11121 解释:只含单一字母的子串:“111”,“11”,“1”,“2”; "111"出现1次, "11"出现2次, "1"出现4次, "2"出现一次, 1+2+4+1=8. 输出:8. 什么是子串?什么子序列? 给定字符串 “asdfghj” 子串是 asd , asdf 等很多个子串, 是连在一起的。 子序列是 asf , adf 等很多个子序列原创 2021-03-27 14:00:51 · 556 阅读 · 0 评论