在线OJ算法题
y_y__d_d
这个作者很懒,什么都没留下…
展开
-
重新排列数组
给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。示例 1:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]示例 2:输入:nums = [1,2,3,4,4,3,2,1], .原创 2020-06-10 19:27:31 · 397 阅读 · 0 评论 -
宝石与石头【力扣】
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输出: 0注意:S 和 J 最多含有50个字母。J 中的字符不重复。来源:力扣(LeetCode)原题链接.原创 2020-06-03 17:46:40 · 307 阅读 · 0 评论 -
牛客网 -红包金额个数
**超过: > **该题 首先给数组进行排序数组个数无论是偶数还是奇数,只要其中有一个数字的个数超过数组大小的一半,那么 数组大小 / 2 的位置的元素一定是所求元素(排序后才会是这样)排序用到了 ArrayList 中的 Collections.sort(list)import java.util.ArrayList;import java.util.Collectio...原创 2020-03-24 11:36:13 · 170 阅读 · 0 评论 -
计算汽水瓶
import java.util.Scanner;/** * 测试用例有10组,瓶子数控制在[1,100] */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // System.out....原创 2020-03-04 18:32:01 · 127 阅读 · 0 评论 -
实现一个函数,将字符串中的大写字母转换为小写字母
public class Solution {//该函数用来将大写字母转换为小写字母 public static String toLowerCase(String str) { if (str == null){ //字符串为空时 return null; } //创建一个字符数组,保存转换之后的结果 ...原创 2020-01-18 23:36:27 · 8693 阅读 · 0 评论 -
数组(简单)##数组转字符串##数组的copy ##求数组中的最大元素 ##求数组元素的平均值
一、实现数组转字符串1.自己实现数组转字符串数组为arr = {1 , 5 , 8 , 4}把数组转为字符串,需要把数组中的所有内容转化为字符串类型在这个代码中,最出错最多的是" "和' 'String ret ='['; ret += ', ';//该句编译时会直接报错,''中是char类型," "中才是字符串类型ret += ']';字符型(char)和字符...原创 2019-09-25 20:50:09 · 103 阅读 · 0 评论 -
输出正方形
题目描述蜜汁正方形扰乱思路package exam13;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt()...原创 2020-03-17 15:33:56 · 203 阅读 · 0 评论 -
一个数组中,返回两个数的和等于目标值时,这两个数的下标
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(Leet...原创 2020-02-03 12:41:28 · 1119 阅读 · 0 评论 -
回文数
class Solution { public boolean canConstruct(String ransom, String magazine) { if (magazine.length() < ransom.length()) return false; int caps[] = new int[26]; for (char...原创 2020-01-31 16:56:35 · 109 阅读 · 0 评论 -
旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99...原创 2020-01-25 14:40:08 · 93 阅读 · 0 评论 -
图形用户界面(界面组件 Frame ,Panel,Button的简单使用)
Frameimport java.awt.*;public class FrameTest { public static void main(String[] args) { Frame f = new Frame("My first frame"); f.setSize(200,200); f.setBackground(Color....原创 2019-12-16 21:37:34 · 766 阅读 · 0 评论 -
List(接口)的基本用法
以下代码仅涉及List接口中的Arraylist(顺序表)类和Linkedlist(链表)类public class Demolist { public static void main(String[] args) { List<String> names = new ArrayList<>(); //向表中添加元素 ...原创 2019-12-04 15:51:16 · 164 阅读 · 0 评论 -
编写一个类Calculator,实现加减乘除四种运算
PS:类Calculator有两个属性num1,num2,这两个数据的值,不能在定义的同时初始化创建类:class Calculator{ private int num1; private int num2; private int sum; public Calculator(int num1 , int num2){ this.nu...原创 2019-10-01 11:25:10 · 20733 阅读 · 2 评论 -
青蛙台阶问题
青蛙一次可以跳上一级台阶,也可以一次跳上两级台阶。那么青蛙跳上n级台阶有多少种方法?台阶数 方法数 1 1 2 2 3 3 4 5 5 ...原创 2019-10-01 10:41:46 · 283 阅读 · 0 评论 -
汉诺塔(输出汉诺塔的移动步骤)(递归)
public class Test2 { public static void main(String[] args){ int k = 3;//3个盘子 hano(k , 'A' , 'B' , 'C'); } public static void hano(int n , char A , char B , char C) { if(n...原创 2019-10-01 09:57:01 · 2755 阅读 · 0 评论 -
求斐波那契数列的第n个数(递归方法)
斐波那契数列:1 ------->第一项1 ------->第二项 ------->前两项2 ------->第三项 ------->前一项3 ------->当前项5 ·8 ...原创 2019-09-29 16:25:23 · 2521 阅读 · 0 评论 -
1.将一个数字顺序输出 2.输入一个非负整数,返回组成它的数字之和.
一、将一个数字顺序输出例如:数字1013public class PrintNum{ public static void main(String[] args) { int num=1013; printNumber(num); } public static void printNumber(int num){ ...原创 2019-09-16 22:43:48 · 400 阅读 · 0 评论 -
1.递归求阶乘 2. 用递归的方法计算 1+2+3+4+···+10 的和
一、递归求阶乘public class Factor{ public static void main(String[] args) { int num = 5; int ret = calcufactor(num); System.out.println("ret="+ret); } public static in...原创 2019-09-16 21:01:55 · 885 阅读 · 0 评论 -
猜数字游戏
1.首先我们需要电脑自动生成一个随机数(1)情况一:import java.util.Random;public class ToGuess{ public static void main(String[] args) { Random r = new Random(1);//此处有参数 for(int j=0;j<3;j++){ ...原创 2019-09-12 16:46:22 · 149 阅读 · 0 评论 -
1.一个数的二进制形式有几个1。 2.获取一个二进制数中的所有奇数位和偶数位。 3.输出一个整数的每一位
1.计算一个数的二进制形式有几个1import java.util.Scanner;public class Count1{ public static void main(String[] args) { System.out.println("请输入一个数字:"); Scanner scanner=new Scanner(System.in);...原创 2019-09-12 15:33:58 · 162 阅读 · 0 评论 -
输出0~999的水仙花数
水仙花数是一个三位数,每位上数字的立方之和等于该数本身的数成为水仙花数。例如:153=1³+5³+3³public class NarNumber{ public static void main(String[] args) { int n; System.out.println("水仙花数有:"); for(n=100;n<...原创 2019-09-12 11:32:33 · 192 阅读 · 0 评论 -
三次输入密码
import java.util.Scanner;public class PassWord{public static void main(String[] args) { int password=112345;//正确密码 int i=0; Scanner scanner=new Scanner(System.in); System.out.print...原创 2019-09-11 22:45:50 · 246 阅读 · 0 评论 -
从1到100的整数中共有多少个数字9
1.错误public class Count9{ public static void main(String[] args) { int n; int count=0; for(n=1;n<101;n++){ if(n==9||n%10==9||n/10==9)//这里if语句的表达式n==9是多余的,...原创 2019-10-11 20:00:41 · 1729 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
public class Sum{ public static void main(String[] args) { int sign=1;//使不同的数字的符号(+、-)发生改变 double num=1.0;//记录当前数值 double sum=0; int n; for(n=1;n<...原创 2019-09-09 17:50:24 · 201 阅读 · 0 评论 -
求两个正整数的最大公约数
import java.util.Scanner;public class CommonDivisor{ public static void main(String[] args) { System.out.println("enter a and b:"); Scanner scanner=new Scanner(System.in); ...原创 2019-09-09 17:16:54 · 347 阅读 · 0 评论 -
输出乘法口诀表
public class MulTable{ public static void main(String[] args) { int i,j; for(i=1;i<10;i++){ for(j=1;j<=i;j++){ System.out.printf("%2d*%2d=%...原创 2019-09-09 16:08:59 · 132 阅读 · 0 评论 -
输出1000~2000之间的闰年
闰年分为两类(1)世纪闰年:可以整除100 (2)普通闰年:不可以整除100public class LeapYear{ public static void main(String[] args) { int year; System.out.println("leap year:"); ...原创 2019-09-09 15:52:23 · 306 阅读 · 0 评论 -
1.判断一个数是不是素数 2.输出1~100的所有素数
素数(prime number):一个大于1的数字,除了1和它自身外,没有其它因数的数叫做素数(质数)。假设这个数字为number,用for循环遍历[2,number/2]之间的数字,设遍历的当前数字为i,用number%i,若结果为0,跳出循环,若结果不为0,执行count++,如果遇到if语句成立或是for循环的结束条件,则跳出循环(此时count的值就是遍历的[2,number/2-1]...原创 2019-09-09 15:29:50 · 1327 阅读 · 0 评论 -
根据年龄进行判断,当前年龄所对应的人处于什么阶段
少年:小于18岁青年:19~28岁中年:29~55岁老年:56岁以上代码如下:(使用了if···else的嵌套)public class Age{ public static void main(String[] args) { int age=44; if(age<18){ System.out.prin...原创 2019-09-09 11:18:41 · 1635 阅读 · 0 评论 -
从键盘接收两个数字,并计算它们的积
代码如下:import java.util.Scanner;//用Scanner方法来输入字符public class Mul{ public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.printf("enter numb...原创 2019-09-07 20:06:06 · 1276 阅读 · 0 评论 -
java中变量和运算符
说起变量和运算符,java中的变量和运算符和c中的大多数是相同的,但是某些地方还是有一些差别。1.变量:在程序运行中数值可以改变的数据和c一样,java中的变量也需要先声明后使用变量声明包括,变量类型和变量名称以及必要时赋初值。变量声明语句结束后要有";"(分号)2.运算符java中的运算符大致与c类似,但还是有一些地方与c不同3.按运算符功能来分,主要为以下几类:...原创 2019-09-07 18:04:44 · 383 阅读 · 0 评论 -
1.交换两个int类型变量的值 2.求3个int变量的最大值和最小值
1.将两个int类型的变量的值进行交换public class ExchangeInt{ public static void main() { int a=2; int b=5; int t=0; t=a; a=b; b=t; System.out.printf("the...原创 2019-09-07 17:22:10 · 196 阅读 · 0 评论 -
1.数字的输入与输出2.图形界面的输入与输出
1.数字的输入与输出import java.io.*;//import语句表示引入其它类的库public class AppNumInOut{ public static void main(String[] args){ String s=""; int n=0; double d=0;try{BufferedReader in=new ...原创 2019-09-07 10:02:10 · 760 阅读 · 0 评论 -
回文链表【力扣】
编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode)原题链接思路 : 使用 栈创建一个栈,将所有的结点放进去遍历一遍原链表,与从栈中取出的元素一一比较,有不相...原创 2020-05-07 00:13:24 · 185 阅读 · 0 评论 -
返回链表的中间结点【力扣】
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.v...原创 2020-04-30 22:58:40 · 176 阅读 · 0 评论 -
合并两个链表【力扣】
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000原题链接/** * Definition for singly-linked list. * public class...原创 2020-04-30 22:49:24 · 258 阅读 · 0 评论 -
二进制链表转整数【力扣】
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head =...原创 2020-04-29 22:33:57 · 182 阅读 · 0 评论 -
链表题---从尾到头打印链表【力扣】
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000力扣原题链接/** * Definition for singly-linked list. * public class ListNode { * int val; * Li...原创 2020-04-28 23:04:11 · 161 阅读 · 0 评论 -
拥有最多糖果的孩子【力扣】
给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖果,如果他得到所.原创 2020-06-03 14:51:28 · 189 阅读 · 0 评论