- 博客(41)
- 收藏
- 关注
原创 2020-11-25
题目解法:import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class Allergies { private final int totalScore = 255; private int score; public Allergies(int score) { if (score > totalScore) { score = sc.
2020-11-25 13:31:22
181
原创 exercism————Roman Numerals
题目:解法一:package exercism;import org.omg.PortableInterceptor.INACTIVE;import java.util.HashMap;import java.util.Map;/** * 右加左减 * 左减数字必须为一位且仅限于Ⅰ、Ⅹ、Ⅽ ,右加数字不能超过三位 * 转换3000以内就可以了 */public class RomanNumerals { private String romanNumber;.
2020-11-21 11:40:36
228
原创 Exercism——ResistorColor
题目:解法一:package exercism;import java.util.HashMap;import java.util.Map;public class ResistorColor { private Map<String,Integer> colorMap; private String[] colors = {"Black","Brown","Red","Orange","Yellow","Green","Blue","Violet","Grey",.
2020-11-09 16:06:18
319
原创 exercism————Knapsack
题目:解法一:public int maximumValue(int capacity,List<Item> items) { return IntStream.range(0, items.size()) .filter(i -> items.get(i).getWeight() <= capacity) .map(i -> items.get(i).getValue() + this.maximumValue(capacity .
2020-11-02 14:04:28
140
原创 Floyd——WarShell 算法————求传递闭包 和 图中两点最小路径 和 Knapsack问题
Function:求:“有向图”传递闭包求:图中两点“最短路径”Prepared Information:传递闭包的概念:图的基本知识:1、求有向图的传递闭包Example:Main idea:Input: R0R1:寻找经过"1"的路径R2:寻找经过"2"和"1,2"二个节点的路径R3:寻找经过"3"和"1,2,3"的路径R4:寻找经过"1"和"1,2,3,4"的路径Output: Rn【一条路径最多经过n个节点(从一个节点出发全部都经过再返回到.
2020-10-31 20:35:07
794
原创 exercism————Series
题目:解法: Set<List<Character>> getAllSubSet(String str, int digits) { // check the input if (str.matches("[^0-9]") || digits > str.length()) {throw new IllegalArgumentException("Invalid input");} // put every subSet into.
2020-10-20 18:49:42
95
原创 exercism ————LargestSeriesProduct
题目:解法一:public int getLargestSeriesProduct(String input,int digits) { // put numbers in int array int [] numSet = new int [input.length()]; for (int i = 0; i < numSet.length; i++) { numSet[i] = Character.getNumericValue(input.charAt(i));.
2020-10-20 17:23:13
110
原创 exercism————NucleotideCount
题目:解法:package exercism;import java.util.HashMap;import java.util.Map;public class NucleotideCount { static Map<Character,Integer> nucleotideMap = new HashMap<>(); public NucleotideCount(String sequence) { // check sequence if .
2020-10-20 17:09:27
92
原创 exercism————Luhn
题目:解法一:boolean isVlaid(String s) { String number = s.replaceAll(" ",""); // check the argument if (number.length() <= 1 || number.matches("[^0-9]")) {throw new IllegalArgumentException("Invalid Argument");} // Converse char to int char.
2020-10-20 15:07:22
207
原创 exercism————Diamonds
题目:方法一:static final char[] ALPHABET = {'A','B','C','D','E','F','G','H','I','G','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; public void printDimond(char letter) { if (!alphabetContains(letter)) {throw new InputMismatchExcept.
2020-10-17 12:18:22
262
2
原创 exercism————ISBN Verifier
题目:解法一: boolean isbnVerifier(String stringToVerify) { int sum = 0; String numbers = stringToVerify.replaceAll("[^0-9X]","").toString(); if (numbers.length() != 10 ) { throw new IllegalArgumentException("Invalid Argument");} int[] output =.
2020-10-17 11:16:28
78
原创 JAVA——列出一个集合所有的子集
思路:集合S={ 2,4,5,1} ; 易知S共有2^4 = 16 个子集将集合元素个数4换成4位二级制数:XXXX,每一位对应集合中相对应的元素0000 代表{}0001 代表{1}0010 代表{5}0011 代表{5,1}0100 代表{4}0101 代表{4,1}....1111代表{2,4,5,1}则2^4 个子集可以由此表示pseudo-code:// 集合S由n个元素,集合O为输出集合,临时集合T,二进制位数有1的下标记作i将n转换成二进制形式for.
2020-10-12 09:36:17
1117
原创 exercism————Hamming
题目:解法package exercism;public class Hamming { public int hammingDistance = 0; static final char[] dnaElements = {'G','A','C','T'}; public Hamming(String DNA1, String DNA2) throws InvalidDNAException { if (DNA1 == null || DNA2 == null) { th.
2020-10-11 17:47:19
215
原创 exercism————TwelveDays
题目:解法1:package exercism;public class TwelveDays { void songLyrics() { String[] s1 = {"first","second","third","forth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth"}; String[] s2 = {"a Partridge in a Pear Tree. ","tw.
2020-10-11 10:01:40
158
原创 为什么被减数减去减数等于被减数加上减数的反码?补数怎么来的?为什么用补数?可溢出计数系统
> 十 进 制 减 法通常我们用十进制进行减法的时候通常会出现以下两种情况:不需要借位:如“456-123”需要借位: 如“253-176”对于不需要借位:我们可以直接相减即可对于需要借位的:我们可以通过一系列操作来免去借位如:253 - 176 = 253 + (999 - 176) + 1 - 1000 &
2020-10-08 14:30:19
1738
原创 Exercism————Proverb
题目:解法一:package exercism;public class Proverb { private String[] list; public Proverb(String[] list) { this.list = list; } String generateProverb(String[] list) { StringBuilder output = new StringBuilder(); for (int i = 0; i < list.l.
2020-05-12 13:21:45
120
原创 Exercism————Protein Translation
题目:最优解法:package practice;import java.util.ArrayList;import java.util.HashMap;import java.util.List;class ProteinTranslator{ static final String STOP = "STOP"; HashMap<String,String> proteinMap = new HashMap<>(); //@Constructor.
2020-05-09 15:21:10
266
转载 查看树莓派ip地址的几种方法
在开始准备玩树莓派的时候,除了外接一块显示器,进行开发之外,还可以通过ssh服务,或者vnc服务,可以很方便地通过另一台电脑进行远程登录操作。远程登录的前提就是需要获得树莓派的ip地址。下面我介绍几种方法可以找到树莓派的ip地址。将树莓派连接显示器...
2020-05-07 11:09:16
2184
原创 Java 接口可以创建对象吗?匿名内部类怎么来的 ? Lambda表达式怎么来的?
很多小伙伴会疑问接口会不会创建对象,例如一下代码:public interface Runnable { void run();}public static void main(String[] args) { Runnable r= new Runnable(){ // some implementation } }乍一看,就好像Runnable接口创建了一个r对象...
2020-05-06 16:47:48
1627
4
原创 判断是否为——ArmstrongNumber(阿姆斯特朗数/阿姆斯壮数)
首先要知道什么是阿姆斯特朗数?维基百科好了,我们已知什么是阿姆斯特朗数,就要开始判断了:1、求出给定数字的位数:调用math函数:floor(log10(num) + 1);// floor返回小于等于参数的最大整数// 别忘了要包括头文件:include <math.h>也可以自己利用while()自己编写:int digits = 0; ...
2020-05-03 09:52:24
1602
原创 欧几里得算法(辗转相除法)——求最大公约数
首先要明确一个概念:什么是最大公约数?顾名思义:就是两个数中公共的约数中最大的一个呗例如:12 的约数有:1 2 3 4 6 128 的约数有 :1 2 4 8则称8和12的最大公约数为:4,记作:(12,8)=4一般的 (a,b) = c,则称a和b的最大公约数为c // GCD(a,b) = c也表示这个意思如果GCD(a,b)= 1,则称a和b互素a和b互素和a和...
2020-04-29 08:42:52
1303
原创 Java————ActionListener
文章目录1、什么是ActionListener1.1 了解ActionEvent类2、ActionListener作用3、ActionListener用法1、什么是ActionListener与KeyListener相似,ActionListener也是一个继承了Event接口的接口,我们需要一个类来实现ActionListener接口或者继承一个实现了ActionListener接口的类,...
2020-04-13 08:57:20
5810
3
原创 Java——KeyListener
文章目录1、什么是KeyListner1.1了解KeyEvent类2、KeyListener的作用3、KeyListener的实战1、什么是KeyListnerKeyListner是一个继承了Event接口的接口,我们可以通过实现KeyListenre接口来监听键盘按键KeyListner源码:public interface KeyListener extends EventLi...
2020-04-12 15:27:17
4562
原创 JAVA——利用标签跳出多重for循环嵌套
跳出单个循环:continuefor (int i = 0; i <5 ; i++) { if (i == 3) { continue; } System.out.print(i + " "); }输出:0 1 2 4跳出一层for循环: for (int i = 0; i <5 ; i++) { if (i == 3) {...
2020-04-08 12:17:09
379
原创 一题理解"i++和++i"的区别
区别在那体现?赋值时体现区别:int i = 1;int a = i++;int b = ++i;System.out.println(a); // i先赋值给a,再自增System.out.println(b);// i先自增1,再赋值给b// 无论哪种形式,i始终会自增,只不过赋值的时候有先后顺序输出:12题目: int i = 1 ; int j ...
2020-04-05 11:35:17
149
1
原创 Java——数组扩容
方法一:利用System类中arragcopy方法(比较灵活):源阵列中位置srcPos到位置srcPos+length-1的序列复制到目标序列位置destPos到desPos+length-1的位置public static void arraycopy(Object src, int srcPos, ...
2020-04-05 11:12:06
106
原创 exercism————ReverseString
题目:Reverse a stringFor example: input: “cool” output: “looc”解法一:String reverseString(String word) { return new StringBuilder(word).reverse().toString(); }解法二:String reverseWay2(String i...
2020-04-03 12:19:44
103
原创 exercism————Anagram
题目:解法一:public class Anagram { String anagramTest(String word,String... list) { StringBuilder sublist = new StringBuilder(); for (int i = 0; i <list.length ; i++) { if (word.contains...
2020-03-31 13:24:17
129
原创 exercism————TwoFer
题目:解法一:public class TwoFer { String twoFerTest(String name) { return name == null ? "One for you,one for me" : "One for " + name + ",one for me"; }}解法二:import java.util.Optional;...
2020-03-29 23:14:35
150
原创 exercism————Isogram
题目:解法1:boolean isIsogram(String phrase) { phrase = phrase.replace("-", "").replace(" ", "").toLowerCase(); return (phrase.chars().distinct().count() == phrase.length()); }解法2:...
2020-03-23 12:18:24
228
原创 exercism————Raindrops
题目:解法:public class Raindrops { String convert (int number) { String output = ""; if (number % 3 == 0) { output += "Pling"; } if (number % 5 == 0) { output += "Plang"; } i...
2020-03-20 12:23:01
162
原创 exercism——入门教程
此教程仅针对第一次使用exercism的新手,鉴于官网给出的教程不够详细,特出此教程,希望给大家带来帮助Step1: 进入:exercism官网,完成注册(注册时可使用github账号或者facebook账号)Step2:选择需要练习的编程语言,截至此时exercism已经有49门编程语言供大家练习Step3:下载exericism和CLI,这一步官网给出的教程已经很详细,大家...
2020-03-18 11:13:44
2051
1
原创 JAVA 传参时的三个点“...”——可变参数
在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数。变长参数是 Java 的一个语法糖,本质上还是基于数组的实现:void Example(String...str) {}void Example(String[] str) {} // 相当于一个String数据类型的数组如何定义可变参数?在定义方法的时候,只需将最后一个形参后加上"…",就可以表示该形参可以...
2020-03-18 08:58:42
3258
原创 抽象类顶不住,接口上!
在Java中,我们通过定义不同的接口来让类必须实现一些特殊的功能,例如:interface Polygon { public void getArea();在这里,,Polygon就是一个接口,我们用interface关键字来声明一个接口。getArea()方法是一个被定义在Polygon接口里的方法,所有实现这个接口的类都必须实现getArea()方法接口中可以包含抽象方法和...
2020-03-17 22:22:50
135
原创 抽象类那点事儿
什么是抽象类?简单来说,由abstract类修饰的类就是抽象类,如:abstract class 类名,这就组成了抽象类。抽象类的特点:抽象类不能被初始话,也就是说不能实例化对象,但没关系,抽象类可以被继承(或许这是抽象类最大的作用了)我们可以通过子类对象来访问抽象类中的成员(这点后面会提到),在了解抽象类之前,我们先来了解抽象方法抽象方法:同样,用abstract修饰的...
2020-03-16 20:06:39
122
原创 JAVA 构造方法和get,set方法的区别与联
联系:都可以给对象赋值,都可以访问private私有属性区别:构造方法是一次性用品,是初始化对象的时候调用的,而get/set方法则可以多次修改对象的属性构造方法赋值的时候可以不加引用,如:new 类名( , , , ,),直接可以开辟空间,而get/set方法必须要有引用最终要的一点是在属性私有化的时候,setget方法可以实现从外部类对属性的访问今天,我们就...
2020-03-10 19:30:44
5086
原创 JAVA继承中关于构造器的问题
首先明确一点:子类会自动调用父类的无参构造直接上代码演示:首先我们创建一个A、B、C类和一个ABCTest测试类,A类继承B类,B类继承C类public class A extends B { // A类无参构造 public A() { System.out.println("A的无参构造"); }}public class B extends C{ // B类无参构造...
2020-03-05 21:42:18
317
原创 MarkDown 流程图使用教程---有道云
MarkDown格式作为提高生产力强有力的工具,怎么能不会用呢?,下面就来简单介绍下它的用法昂graph的使用:首先讲四个单词昂:L(left)、R(right)、T(top)、D(down)下面讲讲框框的形状昂:[ ] :代表矩形( ) :代表圆角矩形{ } :代表菱形(判断用的)| | :代表在箭头上面插入文字...
2020-02-28 16:30:23
1474
原创 选择排序
今天偶然看到这个排序方法,就想着用代码实现一下,那就趁热打铁就分享下我的思路吧,下面从这3个方面说说选择排序(SelectionSort):思想及演示我是如何分析它的,以及如何将分析转化成代码的代码实现1. 思想:思想很简单:就是将第i个数分别和N-i比较,如果i<每个比较的数,那么这两个数就交换(i为数组下标,N为数组的个数)举个例子吧:--------------...
2020-02-26 14:43:48
126
原创 JAVA——浅谈数组
新手学JAVA数组必知本质:同种类型,多个变量的集合体(通过后文代码可帮助理解)性质:长度固定属于引用数据类型下标=数组长度-1正在阅读的你至少要掌握以下三点:数组的声明,初始化数组的遍历数组的排序1.数组的声明及初始化法一:例:int[] arry = new int[3]; // 此处创建了一个int类型的数组,且长度为3 arry[0] = 13; ...
2020-02-19 18:49:35
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人