- 博客(23)
- 收藏
- 关注
原创 编写代码, 实现多线程数组求和
编写代码, 实现多线程数组求和问题:1.给定一个很长的数组 (长度 1000w), 通过随机数的方式生成 1-100 之间的整数.2.实现代码, 能够创建两个线程, 对这个数组的所有元素求和.3.其中线程1 计算偶数下标元素的和, 线程2 计算奇数下标元素的和.4.最终再汇总两个和, 进行相加5.记录程序的执行时间.代码:import java.util.Random;import java.util.concurrent.Callable;import java.util.conc
2022-03-25 18:45:25 1167
原创 贪心算法之分割平衡字符串
问题:代码:class Solution { public int balancedStringSplit(String s) { int cnt=0; int balance=0; for(int i=0;i<s.length();i++){ if(s.charAt(i)=='R') --balance; else if (s.charAt(i)=
2022-02-06 15:58:37 366
原创 贪心算法之选择排序
贪心算法之选择排序public static void swap(int[] arr,int i,int j){ int tmp=arr[i]; arr[i]=arr[j]; arr[j]=tmp;}public static void selectSort(int[] arr){ //i:未排序数据的起始位置 for(int i=0;i<arr.length;i++){ int minIdx=i; //从所有未排序的
2022-02-06 15:22:42 691
原创 动态规划求解路径总数
动态规划求解路径问题描述:代码:import java.util.*;public class Solution { /** * * @param m int整型 * @param n int整型 * @return int整型 */ public int uniquePaths (int m, int n) { // write code here int[][] pathNum=new in
2022-02-03 21:19:06 645
原创 动态规划解决三角矩阵
三角矩阵问题描述:方法一:动态规划方法:动态规划状态:子状态 :从(0,0)到(1,0),(1,1),(2,0),…(n,n)的最短路径和F(i,j): 从(0,0)到(i,j)的最短路径和状态递推:F(i,j) = min( F(i-1, j-1), F(i-1, j)) + triangle[i][j]初始值:F(0,0) = triangle[0][0]返回结果:min(F(n-1, i))import java.util.ArrayList;public class
2022-02-03 18:29:51 516
原创 动态规划解决字符串分割
字符串分割问题描述:方法:动态规划状态:子状态:前1,2,3,…,n个字符能否根据词典中的词被成功分词F(i): 前i个字符能否根据词典中的词被成功分词状态递推: F(i): true{j <i && F(j) && substr[j+1,i]能在词典中找到} OR false 在j小于i中,只要能找到一个F(j)为true,并且从j+1到i之间的字符能在词典中找到,则F(i)为true.初始值:对于初始值无法确定的,可以引入一个不代表实际意义的空状态
2022-02-03 15:23:20 442
原创 java对象的比较
java对象的比较1.元素的比较1.1基本类型比较1.2对象的比较2.对象的比较2.1覆写基类的equal2.2基于Comparable接口类的比较2.3Comparator比较器接口2.4三种方式比较1.元素的比较1.1基本类型比较1.在java中,基本数据类型的对象可以直接比较大小。2.示例:package compare;public class Testcompare { public static void main(String[] args) { int
2022-01-08 19:05:27 2613
原创 二叉树进阶问题
二叉树进阶问题1.package bin_tree.leetcode;import java.util.LinkedList;import java.util.Queue;public class IsCompleteTree { public boolean isCompleteTree(TreeNode root) { if (root == null) { return true; } // 层序遍历判断二叉
2022-01-02 13:44:58 1221
原创 二叉树基础问题
二叉树练习1.相同的树2.对称二叉树3.二叉树的层序遍历4.平衡二叉树5.另一颗树的子树1.相同的树1.相同的树(1)代码实现:TreeNode.java:package bin_tree.leetcode;public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(){ } TreeNode(int val){ this.val=val;
2021-12-04 16:02:33 714
原创 只出现一次的元素
只出现一次的元素1.问题描述:给你一个整型数组nums,除某个元素仅出现一次外,其余每个元素都恰好出现三次,请你找出并返回那个出现了一次的元素。2.代码:package stack_queue.leetcode;import java.util.HashMap;import java.util.Map;public class Num137 { //只出现一次的数字 //给你一个整数数组 nums,除某个元素仅出现一次外 //其余每个元素都恰出现三次,请你找出并返回
2021-12-02 00:01:05 533
原创 栈和队列练习
栈和队列练习1.设计循环队列:class MyCircularQueue { private int[] array; private int size; private int front=0; private int rear=0; public MyCircularQueue(int k) { array=new int[k]; } public boolean enQueue(int value) { i
2021-11-28 22:05:07 279
原创 java实现杨辉三角
杨辉三角题目:代码:package stack_queue.leetcode;import java.util.ArrayList;import java.util.List;public class Num118 { public List<List<Integer>> generate(int numRows) { List<List<Integer>> retList=new ArrayList<>(
2021-11-28 21:15:14 450
原创 java栈和队列
java栈和队列1.栈1.1基本概念1.2栈的实现2. 队列(Queue)2.1基本概念2.2实现2.3循环队列3.双端队列3.1基本概念1.栈1.1基本概念1.栈:一种特殊的线性表,只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守先进后出 LIFO(Last IFirst Out)的原则。2.压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。3.出栈:栈的删除操作叫做出栈。出数据在栈顶。1.2栈的实现1.栈的核心操作po
2021-11-28 20:26:55 166
原创 模拟实现Java的Split分割字符串方法
模拟实现Java的Split分割字符串方法实现方法 split, 能够指定分割符将字符串拆分成字符串数组:详细解题思路:1.计算字符串中的目标分隔符的个数。2.创建字符串数组并将其初始化为" ",不初始化的话字符串数组中就会是null。3.依次截取字符串中分割符符之前的字符,并通过字符串拼接完成合并。package MyString;import java.util.Arrays;public class MyString { public static void main(Str
2021-11-20 15:29:51 535
原创 简单的图书管理系统
图书馆管理系统1.图书管理系统的主要设计2.在IDEA中的建包结构3.主要代码4.运行截图1.图书管理系统的主要设计2.在IDEA中的建包结构3.主要代码1.Book.java:package book_management.book;/** * 每本书对应的实体类 */public class Book { // 书名 private String name; // 作者 private String author; // 价格 pr
2021-11-16 21:03:50 1020
原创 面向对象编程练习
面向编程练习1.以下程序的输出结果为(D)class Base{ public Base(String s){ System.out.print("B"); }}public class Derived extends Base{ public Derived (String s) { System.out.print("D"); } public static void main(String[] args){ new Derived("C"); }
2021-11-13 21:36:13 727
原创 数组练习题
数组练习题1.求数组的平均值:实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型).public class Test{ public static void main(String[] args) { int[] arr=new int[]{2,3,4,5,6,7,8,9}; System.out.println(avg(arr)); } public static double avg(int[] arr)
2021-10-22 21:48:09 767
原创 java数组定义与使用
数组定义与使用1.数组基本用法1.1什么是数组1.数组基本用法1.1什么是数组1.数组本质上就是让我们能够批量创建相同类型的变量。
2021-10-16 15:51:46 426
原创 方法和递归练习题
方法和递归练习题1.青蛙跳台阶问题:import java.util.Scanner;public class Test {public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); System.out.println(f(n)); } public static int f(int n
2021-10-04 21:16:02 219
原创 Java数据类型和方法练习题
java程序逻辑控制练习题1.下面属于java基本类型的有(BC )A.StringB.byteC.charD.Array2.在Java中表示换行符的转义字符是(A)A.\nB.\fC.‘n’D.\dd3.下面关于变量及其范围的陈述哪些是不正确的(B )A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化4.经过强制类型转换以后,变量a,b的值分别为多少(B )short a =128;
2021-10-04 21:02:01 2971
原创 操作符详解
操作符详解1.操作符1.1算数操作符1.2移位操作符1.操作符分类:算数操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下表引用,函数调用和结构成员1.1算数操作符+ - * / %1.除了%操作符外,其他的几个操作符可以作用于整数和浮点数。2.对于/操作符如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法。3.%操作符的两个操作数必须为整数,返回的是整除之后的余数。#include<stdio
2021-08-02 21:59:06 333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人