算法
学姐抱抱.
湖南长沙某高校19级软件工程在读大二学生一枚(目前已毕业,就职于杭州某互联网独角兽公司)
展开
-
剑指 Offer II 085. 生成匹配的括号
剑指 Offer II 085. 生成匹配的括号原创 2022-07-19 00:51:56 · 160 阅读 · 0 评论 -
二分查找(在排序的数据集上进行二分)
如题:给定一个排序的整数数组(升序)和一个要查找的整数 target,用O(logn)O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。题解:public class Solution { /** * @param nums: The integer array. * @param target: Target to find. * @return: The first position of ta原创 2022-02-19 22:48:54 · 208 阅读 · 0 评论 -
稀疏矩阵的压缩与还原
什么是稀疏矩阵?一个矩阵中,如果大部分元素都是0,只有少部分是非0元素,这个矩阵就叫做稀疏矩阵。如下图所示,下面这个矩阵只有第1行第2列和第2行第4列的元素不为空,这个矩阵就是一个稀疏矩阵。通常,我们用二维数组表示矩阵,但我们用二维数组表示稀疏矩阵时,二维数组里会存大量的0元素,占用内存,极大的浪费空间。这个时候我们通常会对稀疏矩阵进行压缩,让二维数组只存储非0元素,如下图所示。假设压缩后的二维数组为B,B的第0行用来存储稀疏矩阵的相关信息。如B[0][0]表示稀疏矩阵一共有多少行,B[0][1]表原创 2021-11-25 20:42:56 · 2460 阅读 · 0 评论 -
java实现普通二叉树增删改查(通过实现Comparable比较器接口实现二叉树的k值的泛型的比较)
//定义一棵二叉树public class Tree<K ,V> { //二叉树的结点 class TreeNode<K, V> implements Comparable<K> { //让节点实现比较器接口 K k; //结点的k值 V v;//结点的v值 TreeNode left;//结点的左节点(连接下一个结点) TreeNode right;//结点的右节点(连接下原创 2021-11-19 01:34:01 · 727 阅读 · 0 评论 -
java实现简易双链表
import java.util.NoSuchElementException;import java.util.Objects;public class ShuangLianBiao<E> { private static class Node<E>{ E e; Node pre; Node next; public Node(E e, Node pre, Node next) {原创 2021-11-16 00:10:33 · 527 阅读 · 0 评论 -
java实现单链表(删除时超过链表范围则抛出NoSuchElementException()异常)
import java.util.LinkedList;import java.util.NoSuchElementException;import java.util.Objects;public class DanLianBiao<E> { private Node<E> first; public DanLianBiao() //初始化 实例单链表对象 { first=new Node<>(null,nu原创 2021-11-15 12:00:26 · 936 阅读 · 0 评论 -
力扣T118杨辉三角
题目表述如下:原题地址:https://leetcode-cn.com/problems/pascals-triangle/解决方案:找到规律,每一行开头和最后一个都为1,中间的第j个值为上一行的j-1和j的值的和。代码:class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> ret = new Array原创 2021-11-14 01:39:13 · 247 阅读 · 0 评论 -
Letcode T566重塑矩阵(分别采用双指针和伪一维数组方案)
题目表述:原题地址:https://leetcode-cn.com/problems/reshape-the-matrix/双指针方式:class Solution { public int[][] matrixReshape(int[][] mat, int r, int c) { int[][] newArray=new int[r][c]; int k1=0,k2=0; if(((mat.length*原创 2021-11-14 01:32:04 · 528 阅读 · 0 评论 -
洛谷提交java代码时注意事项
注意,类的名字一定要是Main 不然会报编译不过的错误如果题目要求用空格隔开两个数据,也一定要输出空格 不然结果不正确原创 2021-05-08 09:28:26 · 6655 阅读 · 3 评论