![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
主要是记录一下做过的leetcode的算法题,记录思路和解法
墨笙弘一
这个作者很懒,什么都没留下…
展开
-
字符个数统计
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。 输入描述: 输入N个字符,字符在ACSII码范围内。 输出描述: 输出范围在(0~127)字符的个数。import java.util.Scanner;import java.util.Stack;public class Main { public static void原创 2017-12-09 19:52:21 · 276 阅读 · 0 评论 -
数字颠倒
题目描述 描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述: 输入一个int整数 输出描述: 将这个整数以字符串的形式逆序输出 算法实现:package com.husweijishi.suanfa;import java.util.Scanner;/** * 数字颠倒 * @原创 2016-12-01 14:23:48 · 813 阅读 · 0 评论 -
蓝桥杯 JAVA 数列特征
问题描述 给出n个数,找出这n个数的最大值,最小值,和。输入格式 第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式 输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。 样例输入 5 1 3 -2 4 5 样例输出 5 -2 11 数据规模与约定 1原创 2018-01-11 11:40:20 · 513 阅读 · 1 评论 -
蓝桥杯编程(1) A+B问题
问题描述输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。多余的格式检查可能会适得其反,使用你的程序错误。在测试的时候,系统会自动将输入原创 2017-12-04 23:09:32 · 1145 阅读 · 0 评论 -
求一个字符串中大写字母的个数
题目描述 找出给定字符串中大写字符(即’A’-‘Z’)的个数 接口说明 原型:int CalcCapital(String str); 返回值:int 输入描述: 输入一个String数据 输出描述: 输出string中大写字母的个数 算法实现:package com.husweijishi.suanfa;import java.util.Scanner;/** * 统计大写字母原创 2016-12-01 14:02:13 · 6589 阅读 · 1 评论 -
求int型正整数在内存中存储时1的个数
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数import java.util.Scanner;public class Main { public static void main(String[] args) { //输入一个整数int类型原创 2017-12-09 19:54:42 · 259 阅读 · 0 评论 -
蓝桥杯(1)斐波拉契数列问题
package com.lanqiaobei.model1;import java.util.Scanner;/*问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是原创 2017-12-11 12:51:10 · 984 阅读 · 0 评论 -
字符逆序
题目描述 将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。 输入参数: inputString:输入的字符串 返回值: 输出转换好的逆序字符串 输入描述: 输入一个字符串,可以有空格 输出描述: 输出逆序的字符串 输入例子: I am a student 输出例子:原创 2016-12-05 09:49:37 · 811 阅读 · 0 评论 -
等差数列
题目描述 功能:等差数列 2,5,8,11,14。。。。 输入:正整数N >0 输出:求等差数列前N项和 返回:转换成功返回 0 ,非法输入与异常返回-1 输入描述: 输入一个正整数。 输出描述: 输出一个相加后的整数。 输入例子: 2 输出例子: 7 算法实现:package com.husweijishi.suanfa;import java.util.Scanner;原创 2016-12-02 16:21:55 · 649 阅读 · 0 评论 -
一道编程题目
昨天在微信群看到有人在讨论一个问题,具体题目如下:入参两个Intger,返回空,然后使这个两个值在调用函数后交换。打印交换后的值,比如你初始化两个变量a和b对应的值分别是3,4那么通过调用方法,传入这两个参数,然后再次打印,a和b的值应该就是4和3而不在是3,4.在Java中我们都知道是值传递,所以刚看到题目时,你可能觉得没有值返回,怎么可以实现?其实我们可以利用反射的思想来进行修改对象的值...原创 2018-10-11 15:32:52 · 214 阅读 · 0 评论 -
java判断字符串是正整数
public static boolean isPureDigital(String string) { if (isBlank(string)) return false; String regEx1 = "\\d+"; Pattern p; Matcher m; p = Pattern.com原创 2017-06-22 09:17:08 · 16065 阅读 · 2 评论 -
蓝桥杯-闰年判断
package com.lanqiaobei.model2;import java.util.Scanner;/** * 问题描述 给定一个年份,判断这一年是不是闰年。 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数; 2. 年份是400的倍数。 其他的年份都不是闰年。 输入格式 输入包含一个整数y,表示当前的年份。原创 2017-12-13 13:27:22 · 460 阅读 · 0 评论 -
蓝桥杯 JAVA 特殊数字
问题描述 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。 输出格式 按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。import java.util.ArrayList;import java.util.Collections;import java.util.List;原创 2018-01-11 13:52:58 · 428 阅读 · 0 评论 -
蓝桥杯(3)圆的面积
问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。实数输出的问题如果没原创 2017-12-04 23:12:41 · 242 阅读 · 0 评论 -
汽水瓶
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 输入描述: 输原创 2017-12-09 19:57:29 · 196 阅读 · 0 评论 -
排序和搜索
一.排序1.概念:排序是指将元素集合按照规定的顺序进行一种排列的算法。 注意:在排序问题中把数据元素叫做关键字,排序的依据也是按照关键字之间的大小进行排序。 2.分类: (1)一般分为升序排序和降序排序 升序排序指的是集合中的元素按照升序的形式排列; 降序排序指的是集合中的元素按照降序的形式进行排列。 (2)分为比较排序和线性时间排序 比较排序依赖于比较和交换来将元素移动到正确的位置上原创 2016-02-28 09:48:00 · 398 阅读 · 0 评论 -
字符串分隔
package com.husweijishi.suanfa;import java.util.Scanner;public class ZiFuChuanFenGe { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new原创 2016-11-30 16:53:20 · 295 阅读 · 0 评论 -
蓝桥杯(2)序列求和
问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低。样例输出505原创 2017-12-04 23:11:39 · 244 阅读 · 0 评论 -
蓝桥杯-十进制转十六进制
package com.lanqiaobei.model2;import java.util.Scanner; /*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是原创 2017-12-13 15:00:35 · 397 阅读 · 0 评论 -
排序算法的指标
1.排序算法的各种指标对比 2.从排序算法的简单性我们可以将其分为两种: (1)简单排序算法:冒泡排序、简单选择排序、直接插入排序 (2)改进排序算法:希尔排序、堆排序、快速排序、归并排序 3.排序算法的稳定性 (1)稳定的排序算法:冒泡,简单选择,直接插入,归并排序 (2)不稳定的排序算法:希尔排序、堆排序、快速排序 4.排序的分类 (1)插入排序类:直接插入排序,希尔排序原创 2016-02-28 16:22:41 · 897 阅读 · 0 评论 -
字符串反转
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = s.nextLine(); StringBuffer sb =原创 2016-11-30 17:15:29 · 220 阅读 · 0 评论 -
统计字符串内英文、数字、空格及其他字符的个数
题目描述 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数 输入描述: 输入一行字符串,可以有空格 输出描述: 统计其中英文字符,空格字符,数字字符,其他字符的个数 算法实现:package com.husweijishi.suanfa;import java.util.Scanner;import java.util.regex.Matcher;import jav原创 2016-12-01 17:16:59 · 1426 阅读 · 0 评论 -
快速排序
1.快排的基本思想就是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可以对这两部分的记录继续排序,来达到整个序列有序的目的。 2.快速排序算法的实现/** * 快速排序 * @param arr:待排序数组 * @param low:数组的首元素下标 * @param high:数组的尾元素下表 *原创 2016-02-28 15:44:13 · 247 阅读 · 0 评论 -
输入一串数字以不同数量的空格分割数字,输出最小的数
今天早上来公司,逛CSDN的时候看到有人问这个,自己就写了写,应该是满足题意,可以解决问题。源码如下(思路在源码里面有注释):package com.wonders;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Scanner;public class原创 2017-06-06 09:13:45 · 1948 阅读 · 0 评论 -
查找输入整数二进制中1的个数
请实现如下接口 public static int findNumberOf1( int num) { /* 请实现 */ return 0; } 譬如:输入5 ,5的二进制为101,输出2涉及知识点:输入描述: 输入一个整数 输出描述: 计算整数二进制中1的个数import java.util.Scann原创 2017-12-09 19:58:48 · 469 阅读 · 0 评论 -
蓝桥杯-十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535import java.util.Scanner; public class Main{ public static void main(String[]ar原创 2017-12-14 21:19:20 · 494 阅读 · 0 评论 -
求最小公倍数
题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 输入描述:输入两个正整数A和B。 输出描述:输出A和B的最小公倍数。 实现:package com.husweijishi.suanfa;import java.util.Scanner;/** * 求最小公倍数 * @author liyongyong * 201原创 2016-12-01 11:05:26 · 783 阅读 · 0 评论 -
句子逆序
题目描述 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 输入描述: 将一个英文语句以单词为单位逆序排放。 输出描述: 得到逆序的句子 算法实现:package com.husweijishi.suanfa;import java.util.Scanner;/**原创 2016-12-01 15:15:38 · 517 阅读 · 0 评论 -
字符串最后一个单词的长度
import java.util.Scanner;public class Main{ public static void main(String[] args){ String str=""; Scanner sc = new Scanner(System.in); while(sc.hasNext()){ str原创 2016-11-30 14:50:32 · 188 阅读 · 0 评论 -
java获取对象的长度
public static int length(String value) { int valueLength = 0; //判断value是否为空 String chinese = "[\u0391-\uFFE5]"; /* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */ for (int i原创 2017-06-22 20:31:18 · 6330 阅读 · 0 评论 -
设有一组N个数,求其中第K个最大者
package com.wonders;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * * @author LYY * 题目:设有一组N个数,求其中第K个最大者(选择问题) * 思路:将数组放到List中,然后调用sort进行排序,在反转,最后只需要判断传进来的位置参原创 2017-06-04 14:50:51 · 1228 阅读 · 0 评论 -
JAVA将M行N列的矩阵交换行和列
题目要求:编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列对应位置的元素) 代码实现如下所示:package com.wonders.test;/** * 二维矩阵转换 * @author LYY * */public class Test11113 { public static void main(String[] args) { int[][]原创 2017-11-05 22:26:24 · 6263 阅读 · 0 评论 -
java判断字符串是否是整形数字
具体的代码实现如下:public static boolean isInt(String string) { if (string == null) return false; String regEx1 = "[\\-|\\+]?\\d+"; Pattern p; Matcher m; p = P原创 2017-06-22 09:02:58 · 8234 阅读 · 0 评论 -
java替换字符串中所有的空格
public static String replaceBlankSpace(String str){ return str.replaceAll("\\s*", ""); }原创 2017-06-22 20:46:57 · 8236 阅读 · 2 评论 -
蓝桥杯-P0103
从键盘输入一个大写字母,要求改用小写字母输出。 输入 A 输出 aimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input原创 2017-12-14 21:21:01 · 585 阅读 · 0 评论 -
java数组转为以逗号分隔的字符串
/** * 将数组转换成以逗号分隔的字符串 * * @param needChange * 需要转换的数组 * @return 以逗号分割的字符串 */ public static String arrayToStrWithComma(String[] needChange) { String原创 2017-06-22 20:46:22 · 18093 阅读 · 7 评论 -
获得当前日期,按照规则返回
/** * 获取当前日期,以yyyy-MM-dd格式返回 * @param date * @return */ public static String getNowDateString(String date){ DateFormat sf = new SimpleDateFormat(“yyyy-MM-dd”, Loca原创 2017-06-22 20:30:08 · 275 阅读 · 0 评论 -
进制数转换
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanne原创 2017-12-09 19:44:26 · 168 阅读 · 0 评论 -
java判断邮箱是否合法
使用了正则表达式来进行判断,代码实现如下:public static boolean isEmail(String string) { if (string == null) return false; String regEx1 = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-原创 2017-06-22 09:01:08 · 34092 阅读 · 4 评论 -
超长正整数相加
请设计一个算法完成两个超长正整数的加法。接口说明/* 请设计一个算法完成两个超长正整数的加法。 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 */ public String AddLongInteger(String addend, String augend) { /在这里实现功能/return n原创 2017-12-10 12:39:48 · 656 阅读 · 0 评论