手撕
草莓味儿的小米佳
Man proposes,God disposes.
展开
-
java实现计算匹配
package com.hikvision.ipsc.convergence.demo.test;/** * @date 2020/11/13 * @description */import java.util.HashMap;import java.util.Map;import java.util.Stack;/** * @version 1.0 * @date 2020/11/13 9:59 * 描述: * 给定一个字符串,其中的字符只包含三种括号:花括号{ }、中括号[原创 2020-11-13 14:32:44 · 387 阅读 · 0 评论 -
java 实现 最长公共子序列
package shousi;/** * 求最长公共子序列(LCS) 动态规划 */public class Test50 { public static String findLCS(String a,String b) { int alen = a.length(); int blen = b.length(); int[][] dp = new int[alen + 1][blen + 1]; for(int i = 0;i <= alen;i++) {原创 2020-11-01 17:27:53 · 611 阅读 · 4 评论 -
java 用链表实现队列
package shousi;/** * 用链表表示队列 */public class Test49 { private int size; private Node head;//头节点 private Node tail;//尾节点 public Test49(){ //初始化 size = 0; head = null; tail = null; } class Node{ public Object data;// 每个节点的数据 pub原创 2020-10-31 18:53:05 · 298 阅读 · 0 评论 -
java实现找到数组中不重复的且最大的数
找到数组中不重复的且最大的数package shousi;import java.util.Arrays;import java.util.HashMap;import java.util.Iterator;/** * 找到数组中不重复的且最大的数 */public class Test27 { public static int getNoRepeat(int[] arr...原创 2020-04-15 20:34:16 · 512 阅读 · 0 评论 -
java实现将数组中的0都挪到前面&&将数组中的0都挪到后面
1.将数组中的0都挪到前面package shousi;/** * 将数组中的0都挪到前面,要求在单次遍历内完成。 * 可以用插入排序,优化方案为用双指针 */public class Test22 { /** * 思想:从后往前遍历一遍数组,将0的个数用zero记录下来, * 如果碰到非零的数,那么就让它往后移动zero个位置,即arr[i+zero] = arr[i]...原创 2020-04-04 15:46:59 · 1173 阅读 · 0 评论 -
java实现英文单词反转
1.翻转句子中的单词I am a girlgirl a am Ipackage shousi;/** * 翻转句子中的单词 * I am a girl * girl a am I */public class Test20 { public static void main(String[] args) { String str = "I am a girl"; ...原创 2020-04-04 14:48:07 · 2398 阅读 · 0 评论 -
java实现 不同苹果有不同的分值,求最大的分值。每次吃苹果,都是要吃的乘左右两边的即为得分,得出最大值
不同苹果有不同的分值,求最大的分值。每次吃苹果,都是要吃的乘左右两边的即为得分,得出最大值input:1,2,3,4,5,4,3,7,8,9,1output:789package shousi;import java.util.HashSet;import java.util.Set;/** * 不同苹果有不同的分值,求最大的分值。每次吃苹果,都是要吃的乘左右两边的即为得分,...原创 2020-04-04 12:33:45 · 180 阅读 · 0 评论 -
java实现编程随机器只能产生0,1,如何产生1000以内的随机数
package shousi;import java.util.Arrays;import java.util.Random;/** * 编程随机器只能产生0,1,如何产生1000以内的随机数 * 1000的二进制是:11 1110 1000 */public class Test12 { public static void main(String[] args) { ...原创 2020-04-02 21:22:33 · 2005 阅读 · 0 评论 -
java实现比较版本号
package shousi;/** * 版本号比较 * 如果version1大于version2,返回值为1,等于为0,小于为-1 * 例如:1.2.4和1.1.100比较大小,应是前者大于后者 * split 方法入参为正则匹配表达式,不能用"."("." * 在正则表达式里匹配任何值),需要用"\\.",才算是按点号分割 */public class Test18 {...原创 2020-04-02 18:46:18 · 1022 阅读 · 0 评论 -
java实现:求出数组中出现次数最多且最大的数
思路:1.最简单的办法就是采用两层for循环去遍历,时间复杂度为O(n2),其次可以2.先用快速排序将数组排序,然后再找次数最多且最大的数,时间复杂度O(NLogN),3.采用HashMap,这种方式时间复杂度为O(N),但是需要空间复杂度O(N)package shousi;import java.util.ArrayList;import java.util.HashMap;i...原创 2020-03-29 17:45:13 · 2970 阅读 · 1 评论 -
java 判断一个字符串是否是一个合法的 IPV4
public class Test14 { public static void main(String[] args) { System.out.println("请输入要验证的IP地址"); Scanner sc = new Scanner(System.in); String ipStr = sc.next(); boolean isIpLegal = isIpLe...原创 2020-03-24 18:59:33 · 1273 阅读 · 2 评论 -
①给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。②在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数
有点类似的两道题:一、给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。输入:[3,0,1]输出:2输入:[9,6,4,2,3,5,7,0,1]输出:8方法一:高斯公式:1+2+3+…+n = (1+n) * n / 2 public static int Solution(int[] arr) { int len = a...原创 2020-03-19 14:09:43 · 1993 阅读 · 0 评论 -
java模拟发红包
package shousi;import java.math.BigDecimal;import java.util.Random;import java.util.Scanner;/** * 模拟发红包 */public class Test4 { public static void main(String[] args) { Scanner sc = new Sca...原创 2020-03-10 14:00:51 · 255 阅读 · 0 评论 -
数组中每个数右边第一个比它大的元素 java实现
如数组A=[1,5,3,6,4,8,9,10] 输出[5, 6, 6, 8, 8, 9, 10, -1]如数组A=[8, 2, 5, 4, 3, 9, 7, 2, 5] 输出[9, 5, 9, 9, 9, -1, -1, 5, -1]1、暴力遍历复杂度为O(n^2)的解法,遍历数组中的每一个后面所有元素,找到第一个大于它的,输出即可 public static int[] findMaxR...原创 2020-02-17 09:12:52 · 1088 阅读 · 0 评论 -
java实现:找出字符串中第一个不重复的字符
找出字符串中第一个不重复的字符indexOf:从前往后数,该字符的索引lastIndexOf:从后往前数,该字符的索引(也是从前往后的)public static void main(String[] args) { String str = "abbccaddgh"; int start, end; char ch; for (int i = 0; i &...原创 2020-01-22 10:46:12 · 982 阅读 · 2 评论 -
查找两个数组中的相同元素---Java实现
查找两个数组中的相同元素—Java实现方法一、暴力(两次遍历)在两个数组中,每个数组不能存在重复元素,那么可以直接暴力循环,复杂度为为O(n2),而且这种方法只能适用于arr1和arr2各自中不存在重复元素。public static List<Integer> findSame(int[] arr1, int[] arr2) { List<Integer&...原创 2019-09-04 14:32:11 · 11483 阅读 · 3 评论