java习题
Wweakness
从来无所求,所得皆惊喜
展开
-
【练习题】把字符串中大写转成小写
public class Solution { public static String toLowerCase(String str) { char[] A={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y'...原创 2020-01-12 22:45:43 · 294 阅读 · 0 评论 -
java:==的使用
public class StringInMemory { public static void main(String[] args) { String a1="hello"; String a2=new String("hello"); System.out.println(a1==a2); //结果为false,a2在堆上 ...原创 2019-11-24 20:31:04 · 370 阅读 · 0 评论 -
java练习题:将两个数相加,不用+或其他运算符
import java.util.*;public class UnusualAdd { public static int addAB(int A, int B) { // write code here int m=A^B; int n=(A&B)<<1; int sum=m+n; ...原创 2019-11-24 20:29:32 · 553 阅读 · 0 评论 -
java练习题:一组成绩中,查询有多少个成绩N
//输入//一行输入n,第二行输入n个成绩,空格分开,第三行输入m,输出结果为n中有多少个mimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while ...原创 2019-11-24 20:27:24 · 214 阅读 · 0 评论 -
java练习题:输入两组字符串,在第一组字符串中,删除所包含的所有第二组中的字符
输入两组字符串,在第一组字符串中,删除所包含的所有第二组中的字符例如:A: im student B:isu则输出:m tdentimport java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(S...原创 2019-11-10 22:29:11 · 331 阅读 · 0 评论 -
java练习题:一个同学去买苹果,水果店只有6个一袋装和8个一袋装,设同学想买n个苹果,他是否可以刚好买到,若买的,输出苹果袋数,买不到,输出-1
一个同学去买苹果,水果店只有6个一袋装和8个一袋装,设同学想买n个苹果,他是否可以刚好买到,若买的,输出苹果袋数,买不到,输出-1import java.util.Scanner;public class Apple { public static void main(String[] args) { Scanner sc=new Scanner(System.i...原创 2019-11-10 22:25:13 · 537 阅读 · 0 评论 -
java练习:给定一组字符串,找出其中长度最长的连续的数字字符串
读入一个字符串str,输出字符串str中的连续最长的数字串例如输入:ab123456cde123则输出是:123456思路:首先用toCharArray()方法来把字符串拆成数字,然后定义i遍历数组,如果a[i]是数字,则再定义j+1同时遍历,若a[j]也是数字,则用count记录长度,count+1,一直遍历到a[j]不是数字时,循环结束,最后用max保存最大长度,用substring...原创 2019-11-09 22:19:15 · 925 阅读 · 0 评论 -
java练习题:左括号和右括号是否匹配
如数一组字符串,看是否符合一下两个条件:1、字符只有(和) 2、看(和)是否匹配如:输入:((1)) 返回false 输入:((()) 返回false 输入:(()) 返回true思路:先用toCharArray方法把字符串拆成一个数组,然后遍历数组的每一个元素,若遇到左括号,就入栈,若遇到右括号,就去栈里找,看有没有左括号与之匹配1、用stack.push()入栈,...原创 2019-11-09 22:05:36 · 808 阅读 · 0 评论 -
java练习题:计算给定数组中的逆序对个数问题
问题:有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对,请设计一个高效的算法,计算给定数组中的逆序对个数例如:给定数组和它的长度[1,2,3,4,5,6,7,0],8public class tast2 { public static int count(int[] A, int n) { int i=0; ...原创 2019-11-08 15:27:07 · 588 阅读 · 0 评论 -
java练习题:换汽水问题
问题:某商店规定,三个空汽水瓶可以换一瓶汽水。小王手上有十个空汽水瓶,他最多可以换多少瓶汽水,答案是5瓶,方法如下:先用9个空瓶子换3瓶,喝掉这3瓶之后,剩4个空瓶子,再用3瓶去换一瓶,喝完剩2个空瓶子,这时可以向老板借一瓶,喝掉这瓶满的,剩3个空瓶,换一瓶满的还给老板,如果小王手里有n个空瓶,问最多可以换多少瓶汽水喝?import java.util.Scanner;class Main...原创 2019-11-08 15:19:17 · 408 阅读 · 0 评论 -
java习题:猜数字游戏
public class Soultion { public static int game(int[] guess,int[] answer){ for(int i=0;i<3;i++){ if(guess[i]==answer[i]){ count++; } } ...原创 2019-10-22 12:33:19 · 349 阅读 · 0 评论 -
java:通讯录系统
import java.util.Scanner;public class User { public static void menu(){ System.out.println("***请选择***"); System.out.println("**1、添加联系人**"); System.out.println("**2、查看联系...原创 2019-10-22 12:29:53 · 650 阅读 · 0 评论 -
java习题:给一个数,求该数最少需要多少步才能变成斐波那契数
//给一个数,求该数最少需要多少步才能变成斐波那契数public class E { public static void find(int n){ int[] F=new int[n]; F[1]=1; F[0]=0; int i=0; if(i>1){ F[i]=F[i-1...原创 2019-10-13 21:41:25 · 296 阅读 · 0 评论 -
复制一个复杂链表
//复制复杂链表(含有random)class Node{ int val; Node next; Node random; Node(int val){ this.val = val; }}public class Practise16{ public Node CopyS (Node head...原创 2019-06-19 23:04:25 · 205 阅读 · 0 评论 -
java练习题:用链表实现队列
//用链表实行队列public class MyQueue { static class Node{ int val; Node next=null; Node(int val){ this.val=val; } } private Node front=null; priv...原创 2019-08-22 22:26:51 · 153 阅读 · 0 评论 -
java练习题:用顺序表实现栈
//用顺序表实现栈import java.util.Arrays;public class MyStack{ private int[] array=new int[10]; private int top=0; private void ensureCapacity(){ //确认空间大小 if(top<array.le...原创 2019-08-22 22:28:43 · 257 阅读 · 0 评论 -
java练习题:宝石和石头(map)
//宝石和石头 : J代表宝石的种类,不可以重复,例如J=aA,则宝石种类有a,A两种,S代表已拥有的石头个数,如S=aAAkk,则拥有的宝石有a,A,A三个import java.util.*;public class Jewels { public static int numJewelsInStones(String J, String S) { ...原创 2019-09-20 22:40:45 · 247 阅读 · 0 评论 -
java例题:非空整数数组,除了某一个元素只出现了一次以外,其他元素都出现了两次,找出那个元素
//例题:非空整数数组,除了某一个元素只出现了一次以外,其他元素都出现了两次,找出那个元素import java.util.*;public class P1 { static Map<Integer,Integer> count(int[] numbers){ Map<Integer,Integer> map=new HashMap<&g...原创 2019-09-20 22:44:34 · 708 阅读 · 0 评论 -
java练习:遍历set的两种方式
import java.util.HashMap;import java.util.*;import java.util.Iterator;public class SetDemo { public static void main(String[] args) { Set<String> set=new HashSet<>(); ...原创 2019-09-20 22:46:09 · 441 阅读 · 0 评论 -
java练习题:遍历map中的key,value,以及键值对
import java.util.HashMap;import java.util.*;public class MapDemo { public static void main(String[] args) { Map<Integer,String> map=new HashMap<>(); map.put(1,"hell...原创 2019-09-20 22:47:28 · 899 阅读 · 0 评论 -
java练习题:罗马数字转整数
//罗马数字转整数import java.util.HashMap;import java.util.*;public class RomanToInteger { public static int romanToInt(String s){ HashMap<Character,Integer> map=new HashMap<>();...原创 2019-09-24 09:26:02 · 246 阅读 · 0 评论 -
java习题:一个网站域名,如"discuss.leetcode.com",包含了多个子域名。
//一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 "com"。import java.util.Arra...原创 2019-09-30 11:14:43 · 350 阅读 · 0 评论 -
java习题:建堆
public class Heaps { //前提:除了要调整的位置,其他位置已经满足堆的性质 //index要调整的位置 //array被看作堆的数组 //size数组中被看作堆的值 //向下调整,大堆(除了index和它的孩子外,其他位置已经满足堆性质了) public static void heapify(int[] a...原创 2019-09-30 11:17:32 · 152 阅读 · 0 评论 -
java练习题:二叉树的遍历
//二叉树的遍历public class Node { int val; Node right=null; Node left=null; Node(int val){ this.val=val; } //打印前序遍历 public static void preOrderTraversal(Node root){ ...原创 2019-08-23 14:55:21 · 337 阅读 · 0 评论 -
java练习题:在一组整数数组中找到两个数相加等于给定值,返回这两个数的下标
//在一组整数数组中找到两个数相加等于给定值,返回这两个数的下标import java.util.Arrays;public class Solution1{ public static int[] twoSum(int[] array,int k){ int sum=0; int[] a=new int[2]; for(int i=0;i<array.length-1;...原创 2019-08-25 21:48:31 · 925 阅读 · 0 评论 -
java:链表中把遍历的每个结点头插到一个新的空链表上
把遍历的每个结点头插到一个新链表上1、什么是新链表(新链表一开始为空)ListNode newList=null;2、如何头插cur到新链表newList上cur.next=newList;newList=cur;//依次遍历原链表中的每个结点,头插到新链表中class Node{ int val; Node next;}public class Practise8{p...原创 2019-07-02 22:50:20 · 181 阅读 · 0 评论 -
java:找倒数第K个结点,方法二:双引用遍历
思路:第一步 先定义两个点,初始位置都在头结点位置第二步 让第一个点先走k步第三步 再让第二个点开始和第一个点同时往后走第四部 当第一个点走到最后时,就可以返回第二个点的值了//找倒数第k个结点,方法二:双引用遍历class ListNode{ int val; ListNode next; ListNode(int val){ this.val=val; }...原创 2019-07-02 21:29:15 · 129 阅读 · 0 评论 -
java:找倒数第k个结点(方法一:长度减k)
//找倒数第k个结点class ListNode{ int val; ListNode next; ListNode(int val){ this.val=val; } }public class Practise22{ public ListNode istNodeFindKthToTail(ListNode head,int k){ //遍历链表,找出链表的...原创 2019-07-02 21:07:25 · 141 阅读 · 0 评论 -
java:链表的头插尾插头删尾删
class Node{ public int value;//保存结点中的数据 public Node next;//指向下一结点的引用 public Node(int value){ this.value=value; this.next=null; } }public class LinkedList{ public static void displayLink...原创 2019-06-25 21:24:46 · 180 阅读 · 0 评论 -
链表:找到x结点 大于x的放x后面,小于x的放前面
//找到x结点 大于x的放x后面,小于x的放前面class Node{ int val; Node next; Node(int val){ this.val = val; }}class Solution{ public Node partition(Node head,int x){&nbs...原创 2019-06-22 09:54:23 · 575 阅读 · 0 评论 -
java:属性、构造方法
属性的初始化 : 顺序 先1后3后21、在定义时直接初始化class A{}class B{A ref2= newA();}2、在构造方法中初始化classA{}class B{A ref2;B(){ref2=new A ();}}3、在构造代码块中初始化class A{}class B{A ref2;{ref...原创 2019-05-27 22:28:07 · 496 阅读 · 0 评论 -
java练习题:求n的阶乘
public class Practice{ public static long factorial1(int n){ if(n==0||n==1){ //0或1的阶乘都是1 return 1; } return factorial1(n-1)*n; } public static long factorial2(int n){ long fact=1; for...原创 2019-05-17 08:39:22 · 1394 阅读 · 0 评论 -
java练习题:年月日的表示
/***如何设计一个类?(日期类)*一、根据需求列出功能:*2、在当前日期上增加多少天*3、在当前日期上减少多少天*4、可以返回字符串String的方法“2019-05-20”*5、加一些限制,年支持的范围【1900,2100】*6、如果给定两个日期,希望计算下两个日期之间相差多少天*二、设计属性*1、年月日*/public class Date{ private int...原创 2019-07-29 16:06:03 · 808 阅读 · 0 评论 -
java笔记:关于数组
数组(arrays) 1、语法 数据类型 1、基本数据类型 2、引用数据类型 { 1、数组类型 定义数组,初始化数组 ...原创 2019-07-21 14:21:26 · 130 阅读 · 0 评论 -
java练习题:链表的逆置
//链表的逆置class ListNode{ int val; ListNode next; ListNode(int x){ val=x; }}class Solution{ //逆置单链表 public ListNode reverseList(ListNode head){ //一次遍历原链表中的每个结点,再头插到新链表中 ListNode newList=n...原创 2019-08-15 21:33:50 · 271 阅读 · 0 评论 -
java练习题:打印扑克牌、洗牌、发牌、交换牌、判断是否有牌
public class PokeCard { int val; String color; public PokeCard(int val,String color){ this.val=val; this.color=color; } @Override public String toString() { ...原创 2019-08-20 21:19:22 · 633 阅读 · 0 评论 -
java练习题:求链表的中间结点
//求链表中间结点 class Node{ int val; Node next; Node(int val){ this.val=val; }}public class Practise13{ public static Node middleNode(Node head){ int length=0; for(Node cur=head;cur!=null;cur...原创 2019-08-24 21:36:51 · 305 阅读 · 0 评论 -
java:用泛型实现杨辉三角
import java.util.List;import java.util.ArrayList;public class Solution{ public List <List<Integer>> generate(int numRows){ List<List<Integer>> list=new ArrayLi...原创 2019-08-19 20:16:26 · 233 阅读 · 1 评论 -
java笔记:遍历集合,迭代器,泛型
1、遍历集合时(线性表) 1)不要添加元素进去 2)不要删除元素2.如果真有删除元素的需求 用迭代器实现迭代器有两个作用:1、为了统一接口的遍历方式: 顺序表 还是 链表,遍历方式都是一致的,用户不需要关系内部实现 (封装性)泛型(Generic)泛型出现的原因: 为了解决类似顺序表这样的结构,支持通用类型元素类型 ...原创 2019-08-19 19:31:51 · 206 阅读 · 0 评论 -
java练习题:冒泡排序
//冒泡排序public class Practise25{ public static void bubbleSort(int[] array){ for(int i=0;i<array.length;i++){ //需要经过array.length次冒泡 //所谓冒泡过程 //在无序区间内,经过两两比较,把最大的数冒泡至最后 boolean isSwap...原创 2019-07-28 14:46:30 · 581 阅读 · 0 评论