![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
WhoisXxq
喜欢唱跳Rap篮球
展开
-
字符串匹配(KMP算法)
字符串匹配(KMP算法)//KMP算法:从模式串上获得next数组(最长前缀),匹配出错的最优处理private static void GetNext(int[] next, String mapper){ //next数组对应字符串s的每一位 int k = -1, index = 0; //k记录上一次最长前缀的下一位 next[0] = -1; //模式串的第一个设为-1 while (index < mapper.length()){原创 2021-06-15 22:57:16 · 92 阅读 · 0 评论 -
无向连通图构造最小生成树
private static int INFINITY = 32767; //定义无穷大的常量private static int MAX_VERTEX = 1000; //定义数组的最大长度static class MatrixGraph { //存储每条边代价的矩阵,行和列为两个端点,当行列相等值为0,有边值为代价,没边值为无穷大INF int[][] edges; int vertexCount, edgeCount; //vertexCount:顶点个数 e原创 2021-06-15 22:55:52 · 1201 阅读 · 0 评论 -
解迷宫问题
迷宫问题1、迷宫:int[][] maze = {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 1, 1, 0, 0, 1}, {1, 0, 1, 1, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 0, 0, 0, 1},原创 2021-06-15 22:52:36 · 114 阅读 · 0 评论 -
两整数之和(位运算)
题目不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3链接:https://leetcode-cn.com/problems/sum-of-two-integers题解题目说不能使用运算符+ 和-,那么我们就要使用其他方式来替代这两个运算符的功能。位运算中的加法我们先来观察下位运算中的两数加法,其实来来回回就只有下面这四种:0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0(进位 1)仔细一看,这可原创 2021-06-15 22:50:10 · 233 阅读 · 0 评论 -
交换两个数的值的三种方法
1、借助中间量交换优点:最简单最好理解的方式int x = 10, y = 20; //定义两个变量int temp = x;x = y;y = temp;System.out.println("x=" + x + ", y=" + y);//x=20 y=102、数值相加减交换缺点:如果 x 和 y 的数值过大的话,超出 int 的值会损失精度。int x = 10, y = 20;x = x + y; //10 + 20y = x - y; // 10 + 20 - 20 = 1原创 2021-06-15 22:47:56 · 633 阅读 · 0 评论 -
简单算术表达式(无括号&&二叉树求解)
简单算术表达式(无括号)使用二叉树的构建和求值题目:编写一个程序,先用二叉树来表示一个简单算术表达式,树的每一个结点包括一个运算符或运算数。在简单算术表达式中只包含+、-、*、/和一位正整数且格式正确**(不包括括号)**,并且要按照先乘除后加减的原则构造二叉树分析:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GdQtw7P3-1623767771234)(简单算术表达式(无括号&&二叉树求解)].assets/20201205110758815.原创 2021-06-15 22:37:02 · 985 阅读 · 0 评论