自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 基于公式画圆【c++】

基于公式画圆【c++】【EasyX】

2022-10-29 22:13:39 566

原创 2048小游戏【c++】

2048小游戏【c/c++】

2022-10-29 00:33:08 1106

原创 ArrayList扩容机制

ArrayList扩容机制源码分析首先在这里纠正一个问题,我发现很多博文在介绍ArrayList调用无参构造时,初始容量为10。其实这里是有问题的。实际调用了无参构造初始容量为0。来看源码 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }这段代码很简单,很容易理解,就是将DEFAULTCAPACITY_EMPTY_ELEMENTDATA赋值给elementData。那

2022-02-22 21:57:12 477 1

原创 整数反转-力扣

整数反转给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。示例 :输入:x = 123 输出:321输入:x = -123 输出:-321此题主要难点在前后反转之后会造成类型溢出。第一种解法:将输入的整形先转化为字符串String,在从后向前进行遍历。class Solution { public int reverse(int x) {

2022-02-07 21:21:04 326

原创 全排列问题-DFS算法

全排列1.不重复的数进行全排列public class MainTest01 { static int n=3; private static int[] arr= {1,2,3}; private static int[] flag=new int[n]; private static int[] a=new int[n]; public static void dfs(int x) { if(x==arr.length) { for (int i = 0; i < a.l

2022-02-05 18:07:43 839

原创 简易版的计算器

简易版的计算器就不多说了,很简单,直接上代码。(注意在整个运算中没有涉及浮点数)public class StackTest3 { private static Stack<Character> s1=new Stack<Character>(); //符号栈 private static Stack<Integer> s2=new Stack<Integer>(); //数字栈 public static void main(Strin

2022-02-04 13:33:32 453

原创 KMP字符串匹配算法

KMP字符串匹配算法       有关KMP算法的博文也是比较多的,但大多都是比较理论化的讲解,数学功底比较差的阅读起来也是相当吃力,今天来写一个比较通俗易懂的版本。       KMP算法实际上是利用了一个a=b,b=c,那么a也就等于c的思想。首先是有一个字符串子串的匹配表。这个表实际就是用来记录子串中每一段串重复的字符个数,这样说起来可能很抽象,看个例子。已知子串为:ABCDABD   &nbs

2022-02-03 15:08:19 513

原创 插入区间 - 力扣

算法题–插入区间题目:给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输出:[[1,2],[3,10],[12,16]]题目分析:此题目给出两个是数组,将两个数组进行合并,首先来看示例中的合并特点,输出的结果中没有重叠的区间。随后来看,要让两个数组

2022-01-05 16:23:20 596

原创 埃氏筛选法

埃氏筛选法思想:从2到n,2是最小的素数,将2的倍数划掉,最小的就剩下3,3也是素数,那将3的倍数也划掉,以此类推。直接看代码```c#include<stdio.h>int n=100000;int main(){ int flag[n]; for(int i=0;i<n;i++){ flag[i]=1; } flag[0]=flag[1]=0; for(int i=2;i<n;i++){ if(flag[i]==1){ printf("%d\

2021-12-25 21:19:05 1301 2

原创 回文链表

回文链表编写一个函数,检查输入的链表是否是回文的。第一种解法:利用栈来进行存储节点值,因为栈的先进后出特性。 public boolean isPalindrome(ListNode head) { Stack<Integer> s=new Stack(); ListNode node=head; while(node!=null){ s.push(node.val); node=no

2021-09-02 17:25:33 117

原创 搜索二维矩阵 II

搜索二维矩阵编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:1.每行的元素从左到右升序排列。2.每列的元素从上到下升序排列。第一种解法利用二分查找此方法简单就不过多讲解 public boolean searchMatrix(int[][] matrix, int target) { for(int i=0;i<matrix.length;i++){ int l

2021-09-01 23:10:55 85

原创 创建线程的四种方式

创建线程的四种方式一:继承Thread类来创建线程class MyThread extends Thread{ public void run() { for (int i = 0; i < 25; i++) { System.out.println(Thread.currentThread().getName()+" "+i); } }}public class ThreadTest { public static void main(String[] args) {

2021-08-26 22:57:39 122

原创 买卖股票的最佳时机

**买卖股票的最佳时机**给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。1.方法一:爆破时间复杂度为o(n^2) public int maxProfit(int[] prices) { int temp=0;

2021-08-25 23:45:33 106

原创 java技术总结之路--接口与抽象类

接口与抽象类自己对抽象类和接口的区别进行了总结。首先来看抽象类public abstract class Test01 { //普通变量 public int x=1; //无参构造 public Test01(){ System.out.println("无参构造方法"); } //有参构造 public Test01(int x){ this.x=x; System.out.println("有参构造方法"+this.x); } //抽象方法 public ab

2021-08-13 23:26:01 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除