JAVA
文章平均质量分 52
Healer512
一个字菜
展开
-
LeetCode-算法-无重复字符的最长子串
无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/这题很简单,将问题分解,从第一个字符开始,当前长度为1,每将后面的一个字符加进来,进行判断,相同当前长度就是1,不同就到用当前字符从前一个字符前一位往前开始进行判断当前长度次,如果存在相同就更新当前长度为当前字符到这个相同字符的距离,如果没有相同,就在当原创 2021-12-08 10:39:04 · 330 阅读 · 0 评论 -
LeetCode-算法-两数相加
两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。这题很简单,就是链表,但是有几个点要注意,首先是你返回的结果原创 2021-12-07 16:23:31 · 203 阅读 · 0 评论 -
leetCode-算法-两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。比较优秀的解法 public int[]原创 2021-12-07 14:58:48 · 88 阅读 · 0 评论 -
LeetCode算法面试题汇总之分割回文串
LeetCode算法面试题汇总分割回文串给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]这题用到了回溯法,之前学算法又学到,但是o(╥﹏╥)o,全忘了。一开始想,只要我吧所有的可能都给找出来一一判断是不是回文,但是从来没想过回溯(完全忘了),哎。class Solution { List<List<String>>原创 2020-08-15 22:54:02 · 130 阅读 · 0 评论 -
LeetCode算法面试题汇总之验证回文串
LeetCode算法面试题汇总验证回文串这题我想的有点复杂,利用到了正则表达式replaceAll()来实现这么一个过程class Solution { public boolean isPalindrome(String s) { if(s=="") return true; String temp = s.toLowerCase(); String reg = "[^0-9a-zA-Z]"; String str=temp.re原创 2020-08-14 20:12:49 · 163 阅读 · 0 评论 -
LeetCode算法面试题汇总之合并两个有序数组
LeetCode算法面试题汇总合并两个有序数组一开始想着利用System.arraycopy()+Arrays.sort()简单地实现,没想到太low了就换了一种方法。既然她已经是有序的,那么利用它的这个特性,我们就可以省了再次排序的浪费,直接将nums2中的数通过比较放到nums1中。1.System.arraycopy()方法(1) 解析public static native void arraycopy(Object src, int srcPos, Object dest, int d原创 2020-08-13 21:36:49 · 202 阅读 · 0 评论 -
JAVA实现RSA加密解密
好久好久才搞出的RSA花了一天的时间才搞出来RSA没有任何理解上的难度,只不过换成大数来实现BigIntegerBigInteger关于java BigInteger用法:import java.util.Scanner;import java.util.Arrays;import java.util.Base64;import java.math.*;import jav...原创 2019-12-20 23:13:30 · 754 阅读 · 1 评论 -
JAVA编写AES加解密
12小时肝AES又是熟悉的凌晨,好困写完就睡加解密代码一起放字符串转十六进制(其实不是十六进制)十六进制转二进制字符二进制字符转十六进制十六进制转字符明文package Test;import java.util.Arrays;public class Strtohex {public static void main(String []args){ String st...原创 2019-12-13 02:48:33 · 301 阅读 · 0 评论 -
JAVA实现维吉利亚密码加密解密
维吉利亚密码在一个凯撒密码中,字母表中的每一字母都会作一定的偏移,例如偏移量为3时,A就转换为了D、B转换为了E……而维吉尼亚密码则是由一些偏移量不同的恺撒密码组成。为了生成密码,需要使用表格法。这一表格(如图1所示)包括了26行字母表,每一行都由前一行向左偏移一位得到。具体使用哪一行字母表进行编译是基于密钥进行的,在过程中会不断地变换。例如,假设明文为:ATTACKATDAWN选...原创 2019-12-09 01:53:24 · 1457 阅读 · 0 评论 -
JAVA实现A5/1加密解密(无初始化仅乱数输出部分)
A5算法具体的算法过程就不详细介绍了,这是根据《现代密码学教程》一书所写的。我的程序中没有初始化过程,那个我不是太懂怕弄错了就不写了。刚学的Java,能力有限就只能写成这个样子o(╥﹏╥)o了package cryptology;import java.util.Scanner;public class A5_1 {public static void main(String []ar...原创 2019-12-09 01:39:57 · 345 阅读 · 0 评论 -
Java字符与二进制互转用于加密解密
#Java字符与转二进制互转用于加密解密现在是凌晨三点,花了好几天才弄出这个,我好冷好孤独,可能要猝死了o(╥﹏╥)opackage Test;import java.util.Arrays;public class StrToBinary {public static void main(String []args){ String str="0123456789abcdefgh...原创 2019-12-08 03:08:04 · 614 阅读 · 2 评论