
算法
文章平均质量分 58
起个花名好难
Java路漫漫其修远兮,吾将上下而求索...
展开
-
基于Java实现环形队列的添加数据、取出数据、返回队头数据
基于Java实现环形队列一、定义一个队列类,包含类的构造方法及操作方法。二、新建队列类的操作类,测试其操作方法。一、定义一个队列类,包含类的构造方法及操作方法。//定义一个队列类,包含队列的构造方法及操作方法。class ArrQueue{ //maxsize表示数组最大容量 private int MaxSize; //front指向队列的第一个元素,即arr[0] private int front; //rear指向队为的最后一个元素的下一位置,希望空出一原创 2021-04-21 13:55:09 · 843 阅读 · 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 · 247 阅读 · 0 评论 -
迷宫问题
迷宫问题一、问题描述二、定义迷宫三、显示迷宫四、解决迷宫问问题五、完整代码奉上:一、问题描述小球从起点出发能否走到终点,如果能就返回true,如果不能就返回false。解题思路:首先将迷宫问题转化为计算机能处理的问题。1、假设一个二维数组来代替迷宫,二维数组第一行,第一列;最后一行、最后一列为墙。数组[3][1],数组[3][2]也是墙。2、在数组中用1表示墙,0表示此处还未走过,2表示此路能走通,3表示此路走不通。3、设置小球行走的方式,下–>右–>上–>左(也可以是其他原创 2021-04-15 15:16:50 · 148 阅读 · 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 · 722 阅读 · 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 · 1159 阅读 · 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 · 640 阅读 · 0 评论