自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000leetCode 剑指Offer24.反转链表public class Main { static class ListNode{ int val; ListNode ne

2021-06-10 18:39:05 281

原创 回文数判断

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。提示:-2^31<= x <= 2^31 - 1LeetCode 9.回文数import java.util.*;public class Main{ public static boolean isPalindrome(int x){ if(x<0||(x%10=

2021-05-31 13:21:22 125

原创 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。LeetCode 101.对称二叉树import java.util.*;class TreeNode{ char data; TreeNode left; TreeNode right; public TreeNode(char data){ this.data=data; this.right=null; this.left=null; }}class BiTre

2021-05-25 13:13:59 113

原创 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。0 <= s.length <= 5 * 104s 由英文字母、数字、符号和空格组成LeetCode 3.无重复字符的最长子串import java.util.*;public class Main{ public static int lengthOfLongestSubstring(String s){ Set<Character> occ= new HashSet<Chara

2021-05-24 14:54:05 88

原创 通配符匹配

给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。import java.util.*;public class Main{ public static boolean isMatch(String s,String

2021-05-24 08:33:00 146

原创 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列LeetCode 21.合并两个有序链表import java.util.*;class ListNode { public int val; ListNode next; public ListNode(){} public Lis

2021-05-21 09:57:45 52

原创 最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。package Pack;import java.lang.reflect.Array;import java.util.*;public class Main{ public static String longestPalindrome(String str){ int n=str.length(); if(n==0||n==1) return str; int [][

2021-05-20 22:30:52 60

原创 Java二叉树非递归遍历

前序非递归遍历package Pack;import java.util.*;class TreeNode{ char data; TreeNode left; TreeNode right; public TreeNode(char data){ this.data=data; this.right=null; this.left=null; }}class BiTree{ static int

2021-05-19 12:55:27 93

原创 Java无向连通图的广度优先遍历(BFS)

import java.util.*;class MGraph{ char[] vertex; int[][] arc; int vertexNum,arcNum; int[] visited; int[] Q; public MGraph(char[] a,int n,int e){ vertexNum = n; arcNum = e; visited = new int[n]; Array

2021-05-18 22:23:14 220

原创 Java无向连通图的深度优先遍历(DFS)

import java.util.*;class MGraph{ public char[] vertex; public int[][] arc; public int vertexNum,arcNum; public int[] visited; public MGraph(char[] a,int n,int e){ this.vertexNum=n; this.arcNum=e; vertex=new cha

2021-05-17 08:21:19 620

原创 Java读入单个字符

import java.util.*;public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); char c=in.next().toCharArray()[0]; System.out.println(c); }}import java.util.*;public class Main{ publ

2021-05-12 07:47:37 822 2

原创 Java二叉树的基本操作

import java.util.*;class TreeNode{ char data; TreeNode left; TreeNode right; public TreeNode(char data){ this.data=data; this.right=null; this.left=null; }}class BiTree{ static int index=0; //构建二叉树

2021-05-12 07:36:38 86

原创 Java构建二叉树

编一个程序,读入用户输入的一串先序遍历字符串,根据此 字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串: ABC##DE#G##F### 其中“#”表示的是空格,空格字符代表空树。建立起此二叉树以后,再对二叉树进行中序遍历,输出遍历结果。输入描述: 输入包括1行字符串,长度不超过100。输出描述:可能有多组测试数据,对于每组数据,输出将输入字符串建立二叉树后中序遍历的序列,每个字符后面都有一个空格。每个输出结果占一行。import java.util...

2021-05-11 18:15:13 1055

原创 Java获取有符号整数能表示的最大最小值

public class Main{ public static void main(String args[]){ System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); }}

2021-05-07 13:47:42 226

原创 判断链表是否有环

public static boolean hasCycle(ListNode head){ if(head==null||head.next==null) return false; ListNode slow=head; ListNode fast=head.next; while(slow!=fast) { if(fast==null||fast.next==null...

2021-05-06 18:31:30 38

原创 137.只出现一次的数字||

class Solution { public int singleNumber(int[] nums) { Map<Integer, Integer> freq = new HashMap<Integer, Integer>(); for (int num : nums) { freq.put(num, freq.getOrDefault(num, 0) + 1); } int an..

2021-05-05 13:40:55 63

原创 Java使用HashMap获取数组中数字出现的次数

import java.util.*;public class Main{ public static void main(String args[]){ //记录数组中每个数字出现的次数 Scanner in=new Scanner(System.in); int[] nums = new int[1005]; HashMap<Integer,Integer> map=new HashMap<Integer, In

2021-05-05 13:30:34 701

原创 258 各位相加

class Solution { static int p(int a){ int sum=0; while(a!=0) { int t=a%10; sum=sum+t; a=a/10; } return sum; } public int addDigits(int num) { int la=p(num); .

2021-04-28 14:20:14 43

原创 牛客小白月赛1

import java.util.*;public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); String s1,s2,s3,s4,s5,s6; s1=in.next(); s2=in.next(); s3=in.next(); s4=in.next(); ...

2021-04-28 13:44:08 73

原创 牛客小白月赛1

import java.util.*;import java.lang.*;public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); int T=in.nextInt(); while(T>0) { T--; int a=in.nextInt();..

2021-04-28 13:05:11 77

原创 链队列的创建,入队,出队,队头元素,判空,长度,打印

package Pack;import java.util.*;class Node{ int val; Node next=null; public Node(int val){ this.val=val; }}class LinkQueue{ Node front; Node rear; int size; public LinkQueue(){ Node s=null; front

2021-04-26 19:29:06 474

原创 链栈的创建,入栈,出栈,取栈顶元素,判空,元素个数

import java.util.*;class Node{ int val; Node next=null; public Node(int val){ this.val=val; }}class LinkStack{ Node top; int size; public LinkStack(){ top=null; size=0; } public void Push(int

2021-04-26 13:18:20 974

原创 单链表的创建,打印,长度,查找,插入,删除

import java.util.*;class ListNode { public int val; ListNode next=null; public ListNode(int val){ this.val=val; }}class LinkList{ ListNode first=new ListNode(-1); //ListNode first; //public LinkList(int a){ //

2021-04-25 19:12:28 96

原创 尾插法建立单链表

package Pack;import java.util.*;class ListNode { public int val; ListNode next;}class LinkList{ ListNode first; public LinkList(int[] a,int n){ first=new ListNode(); ListNode r=first; for(int i=0;i<n;i++)

2021-04-16 20:45:48 112

原创 头插法建立单链表

package Pack;import java.util.*;class ListNode { //建立节点 public int val; ListNode next;}class LinkList{ ListNode first; public LinkList(int[] a,int n){ first=new ListNode(); //建立头节点 first.next=nu

2021-04-16 20:31:21 287

原创 活动安排问题

C++#include<iostream>using namespace std;int s[100],f[100],B[100]={0};int ActiveManage(int s[],int f[],int B[],int n){ int i,j,count; B[0]=1; j=0;count=1; for(i=0;i<n;i++) { if(s[i]>=f[j]) {

2021-01-06 20:01:01 82

原创 八皇后问题

八皇后问题(eight queens problem)是19世纪著名的数学家高斯与1850年提出的。问题是:在88棋盘上摆放八个皇后,使其不能互相攻击,即任意两个皇后不能处于同一行,同一列或同一斜线上。可以把八皇后问题扩展到n皇后问题,即在nn棋盘上摆放n个皇后,使任意两个皇后都不能处于同一行,同一列或同一斜线上。C++实现#include<iostream>using namespace std;void Queen(int n);int Place(int k);int x[1

2021-01-06 18:52:58 1105

原创 贪心法解决部分背包问题

给定n个物品和一个容量为C的背包,物品i的重量是Wi,其价值是Vi,背包问题是如何选择装入背包的物品的总价值最大。C++#include<iostream>using namespace std;int KnapSack(int w[],int v[],int C,int n){ int i; int maxValue=0; double x[10]={0}; for(i=0;w[i]<C;i++) { x[i]=1;

2021-01-05 19:01:50 225

原创 NOI 2.6移动路线

2718:移动路线总时间限制: 1000ms 内存限制: 65536kB描述桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。对于1行1列的方

2020-11-17 23:05:50 278

原创 二叉查找树

二叉查找树是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上所有节点的值均小于根节点的值;(2)若它的右子树不空,则右子树上所有节点的值均大于根节点的值;(3)它的左右子树也是二叉排序树。#include<iostream>#include<stdio.h>using namespace std;struct BiNode{ int data; //节点的值,假设查找元素的集合为整型 BiNode *lc

2020-11-08 12:30:40 73

原创 C与C++ struct的理解

1.在C++中的struct等同于class,只是class默认成员权限是private,而struct默认成员权限public;2.在C++中支持成员函数的定义,比如构造函数,析构函数,友元等,而C语言struct中不可以有函数。3.C++ struct里面的成员初始化的形式和类是相同的,不可以直接初始化,就是不可以定义成员的时候同时初始化。C语言struct中间的某个类型(例如int)也不可以直接初始化。struct He{int a=0;};//在C++和C编译是不能通过的4.如果不用t

2020-11-08 11:57:55 303

原创 C语言typedef结构体的理解

在C语言里,struct用于定义一个数据类型------结构体,typedef用于给数据类型取别名。typedef struct Student{ int Age; int Id[10];}Stu;表示给结构体变量struct Student取了一个别名Stu。这样下次定义一个结构体变量就可以写成Stu stu1。如果不用typedef。struct Student{ int Age; int Id[10];}Stu;此时说明已经定义了一个结构体变量Stu,如

2020-11-08 11:24:53 3147 3

原创 C++/Java插入排序

C++实现#include<iostream>using namespace std;void InsertSort(int r[],int n){ int j; for(int i=2;i<=n;i++) { r[0]=r[i]; for(j=i-1;r[0]<r[j];j--) r[j+1]=r[j]; r[j+1]=r[0]; }}int main(){

2020-11-07 08:36:35 64

原创 C++/Java最长递增子序列

在数字序列A={a1\displaystyle a_1a1​,a2\displaystyle a_2a2​,…,an\displaystyle a_nan​}中按递增下标(i1,i2,...,ik)((i≤i1<i2<...<ik≤n))(\displaystyle i_1,i_2,...,i_k)((i\leq i_1< i_2<...<i_k \leq n))(i1​,i2​,...,ik​)((i≤i1​<i2​<...<ik​≤n))顺序选出一个

2020-11-07 08:23:31 138

原创 NOI1808公共子序列

1808:公共子序列总时间限制: 1000ms 内存限制: 65536kB描述我们称序列Z = < z1, z2, …, zk >是序列X = < x1, x2, …, xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, …, ik >,使得对j = 1, 2, … ,k, 有xij = zj。比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。现在给出两个序列X和Y,你的任务

2020-10-29 09:14:39 109

原创 C++最长公共子序列问题

最长公共子序列问题:#include<iostream>#include<cstring>using namespace std;int L[1000][1000];int S[1000][1000];char z[1000];int CommonOrder(char x[],int m,char y[],int n){ int i,j,k; for(j=0;j<=n;j++) L[0][j]=0; for(i=0;i&l

2020-10-29 09:11:07 156

原创 C++\Java动态规划------0-1背包问题

给定n种物品和一个背包,物品(i≤\displaystyle\leq≤j≤\displaystyle\leq≤n)的重量是wi,其价值是vi,背包容量是C,对每种物品只有两种选择:装入背包或不装入背包。如何选择装入背包的物品,使得装入背包中物品的总价值最大?#include<iostream>using namespace std;#define N 1000int x[N];int V[N][N];int KnapSack(int w[],int v[],int n,int C

2020-10-28 21:17:44 69

原创 C++分治法--最近对问题

最近对问题:最近对问题要求在一个包含n个点的集合中找出距离最近的两个点。严格地讲,距离最近的点可能多于一个,简单起见,只找出其中的一对即可。最近对问题的分治策略如下:(1)划分:将集合S分成两个子集S1和S2,根据平衡子问题原则,每个子集中大约有n/2个点,设集合S的最近点对是pi\displaystyle p_ipi​和pj\displaystyle p_jpj​(1≤\displaystyle\leq≤i,j≤\displaystyle\leq≤n),则会出现以下三种情况:1.pi∈S1\dis

2020-10-24 17:19:22 3359 1

原创 NOI2.2-11求最大公约数问题(C++)

7592:求最大公约数问题总时间限制: 1000ms 内存限制: 65536kB描述给定两个正整数,求它们的最大公约数。输入输入一行,包含两个正整数(<1,000,000,000)。输出输出一个正整数,即这两个正整数的最大公约数。样例输入6 9样例输出3提示求最大公约数可以使用辗转相除法:假设a > b > 0,那么a和b的最大公约数等于b和a%b的最大公约数,然后把b和a%b作为新一轮的输入。由于这个过程会一直递减,直到a%b等于0的时候,b的值就是所要求的

2020-10-21 23:32:16 543

原创 CSP2014-03-1相反数

CCF201403-1 相反数(100分)试题编号: 201403-1试题名称: 相反数时间限制: 1.0s内存限制: 256.0MB问题描述:  有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。  第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式  只输出一个整数,即这 N 个数中包含多少对相反数。样例输入5

2020-10-21 20:29:05 247

空空如也

空空如也

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

TA关注的人

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