
java
良殿世无双
这个作者很懒,什么都没留下…
展开
-
剑指offer-数组中只出现一次的数字(两个)(位运算)
1、异或运算法制:相同则取0,不同则取1一个数与0做异或,则还是这个数本身;2、题目3、题解class Solution { public int[] singleNumbers(int[] nums) { int x=0,y=0,n1=0,m=1; //第一遍遍历异或得到所求x,y的异或值 for(int num:nums){ n1= n1^num; } //m循环移位做与,得到第一个为1的二进制位原创 2021-09-13 10:22:03 · 230 阅读 · 0 评论 -
剑指 Offer 56 - II. 数组中数字出现的次数 II
题目:解题思路及代码解题思路1、将数组进行排序;2、双指针i= 0;j= 1;向右滑动循环逻辑:while循环,当j> nums.length时退出循环;当i,j指向的数值相等时,j++,指针右移;但不相等时,两种情况:找到(j-i == 1),此时又分为两种情况(case1和case2);未找到(j-i >1) 此时令i =j,j=j+1;窗口整体右移,重复判断;case1:只出现1次的数字为nums[i],此时,i=0;j=1,且nums[i]!= nums[.原创 2021-09-11 10:08:55 · 232 阅读 · 0 评论 -
链表的头结点问题
题目描述:从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]两种写法及结果通过的写法:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * }原创 2021-08-29 11:04:42 · 239 阅读 · 0 评论 -
Spring学习笔记
Spring框架概述Spring框架四轻量级的开源的JaveEE框架轻量级:jar包体积和数量少,可独立使用开源:免费框架:简化开发,可解决企业应用开发的复杂性两个核心:IOC和AopIOP:控制反转,把创建对象的过程交给Spring管理Aop:面向切面,不修改源代码的情况下,进行功能添加|增强特点: -方便解耦,简化开发 - etcIOC容器IOC(控制反转),把对象的创建和对象之间的调用过程,交给Spring进行管理- 目的:耦合度降低依赖...原创 2021-08-16 16:37:58 · 115 阅读 · 0 评论 -
合并两个有序数组
class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int end = m+n-1; int p1 = m-1; int p2 = n-1; int temp; while(end >= 0){ if(p1 == -1) temp = nums2[p2--]; else if(p2==-1) .原创 2021-05-24 22:12:11 · 97 阅读 · 0 评论 -
Java - 多态
多态的转型原创 2021-04-07 09:30:17 · 205 阅读 · 0 评论 -
java中库中常用的排序方法
1、Collections.sort(List <T> list)Collections对集合进行操作2、Arrays.sortArrays类对数组进行操作 T[ ]原创 2021-04-02 11:01:31 · 175 阅读 · 0 评论 -
剑指offer之机器人的运动范围(递归,DFS)
题目思路及代码public class Solution { public int movingCount(int threshold, int rows, int cols) { if(threshold <0 || rows < 1 ||cols < 1) return 0; boolean[][] flag = new boolean[rows][cols]; //默认false return search (thre原创 2021-04-01 20:10:40 · 113 阅读 · 0 评论 -
剑指offer之丑数(动态规划)
题目思路及代码直接对丑数进行存储。将丑数数组中的数依次乘以2,3,5,将最小的数存入数组,并将乘 2 3 5的下标+1,后续最小的丑数应该从2 3 5对应下标的丑数乘2 3 5中产生。import java.lang.Math;public class Solution { public int GetUglyNumber_Solution(int index) { if( index <=0) return 0; int[] uglyNum原创 2021-04-01 12:00:41 · 94 阅读 · 0 评论 -
剑指offer之翻转字符串(null,空串,全是空格的非空串)
1、题目思路及代码先根据空格对字符串进行分割,然后对分割后的字符数组进行逆序拼接;注意空格的加法。特殊情况:字符串为空 String s;此时s为null,不具备任何属性,包括length;字符串为空 ,String s = "";长度为0;字符串全为空格,有几个空格长度就是多少。public class Solution { public String ReverseSentence(String str) { if (str == nu.原创 2021-03-31 00:10:18 · 106 阅读 · 0 评论 -
剑指offer之把字符串转换成整数
题目思路及代码1、1、不考虑正负号及特殊情况时:采用for循环从左到右依次乘10累加,并将结果依次乘10累加(不能根据字符串长度进行按位求幂累加,因为字符串长度可能会超过int类型的最大位数,求得过程本身就已越界)2、当字符串首位字符为'-'时,相减;为'+'或者首字母为数字时直接累加;3、当字符串首字符为除2中情况的其他字符时,则不为数字,返回0;判断依据:ASCII码中48~57为0到9十个阿拉伯数字。所以,当字符1要转换成数字1时,需要将字符1转换成ASCII码翻译出的原创 2021-03-30 11:17:37 · 156 阅读 · 0 评论 -
剑指offer之正则表达式匹配
题目思路代码import java.util.*;class Solution { public boolean isMatch(String A, String B) { int n = A.length(); int m = B.length(); boolean[][] f = new boolean[n + 1][m + 1]; for (int i = 0; i <= n; i++) { .原创 2021-03-30 09:24:14 · 223 阅读 · 0 评论 -
剑指offer之把数组排成最小的数
题目思路及代码1、字典序全排列import java.util.ArrayList;import java.util.*;import java.util.Arrays;public class Solution { public String PrintMinNumber(int [] numbers) { // method 1全排列解法 Arrays.sort(numbers); //String result原创 2021-03-29 11:47:37 · 97 阅读 · 0 评论 -
剑指offer之字符串的全排列
import java.util.ArrayList;import java.util.Collections;import java.util.Arrays;public class Solution { public ArrayList<String> Permutation(String str) { ArrayList <String> result = new ArrayList<>(); if(str.length.原创 2021-03-29 09:58:40 · 111 阅读 · 0 评论 -
剑指offer之矩阵中的路径(深度优先搜索:DFS,递归)
题目思路代码import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix string字符串 * @param rows int整型 * @param cols int整型 * @param str string字符串 * @retur..原创 2021-03-25 17:02:24 · 160 阅读 · 0 评论 -
包含min函数的栈(栈)
题目定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路辅助栈,设置数据栈和最小值栈,数据栈按普通栈的方式进行出栈入栈,最小值栈依次存入当前的最小值,栈顶元素永远是当前最小值。代码import java.util.Stack;public class Solution { Stack <Integer> data = new Stack <>(); Stack <Integer&g原创 2021-03-22 15:44:26 · 101 阅读 · 0 评论