自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 2、Java基础

1、定义不同equals()是Java中的一个方法;==在Java中只是运算符号2、比较对象不同equals():对于引用数据类型的判断,两个数据内容是否相等,比如两个字符串,两个具体的对象; == 判断基本数据类型是否相等,相比较的是数值是否相等,相等返回true,不相等返回false。如果比较的是引用类型来, 则比较的是对象地址值是否相等。3、运行速度不同== 运行速度比equals()快,因为==只是比较引用。因此, equals方法与hashCode方法根本就是配套使用的。对于任何一个对象,

2022-06-05 20:37:51 295 2

原创 (二)数据结构——递归

代码如下(示例):

2022-06-05 15:38:21 172

原创 (一)数据结构——排序

最好情况下,即待排序序列已按关键字有序,每趟操作只需 1 次比较 0 次移动。最坏情况下,即待排序序列按关键字逆序排序,这时在第 j 趟操作中,为插入元素需要同前面的 j 个元素进行 j 次关键字比较,移动元素的次数为 j+1 次。平均情况下:即在第 j 趟操作中,插入记录大约需要同前面的 j/2 个元素进行关键字比较,移动记录的次数为 j/2+1 次。2.希尔排序(不建议多花时间了解)假设待排序的元素个数为 n,则总共要进行 n-1 趟排序,对 j 个元素的子序列进行一趟起泡排序需要进行 j

2022-06-04 12:52:25 465

原创 异或&&哈希——数组中数字出现的次数I

一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。法一:HashSet解决HashSet中add()方法会添加不重复的数字或字符串,举例:本题可以使用此方法,但是我们的目的是输出不重复的数字,因此在将数字添加到HashSet中时,当遇到重复数字不添加,就将HashSet中已存在的元素也移除,最后遍历HashSet输出就可以了。法二:异或提到这道题的异或,首先应该先看一个类似的题。136. 只出现一次

2022-06-04 08:01:01 466

原创 动态规划——1、礼物的最大价值

在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例:代码:分析:...

2022-06-03 10:34:11 93

原创 1、Java基础

面向对象

2022-06-02 10:56:33 190

原创 (15)输入URL后会发生什么?

输入URL后会发生什么?

2022-06-01 21:30:57 919

原创 (14)Java基础

java

2022-06-01 20:01:53 108

原创 4、安卓基础

Handler、网络请求方式、数据解析方法

2022-06-01 08:37:36 238 1

原创 3、安卓基础

安卓基础

2022-05-31 22:09:38 119

原创 2、安卓基础

安卓中常用控件与布局

2022-05-31 20:36:08 78

原创 1、安卓基础

文章目录前言一、Android四大组件?二、安卓的日志工具Log三、为什么使用 Log 而不使用 System.out四、Intent五、活动的生命周期六、活动的启动模式总结前言开启Android复习生涯,真的是所有东西忘得一滴不剩。一、Android四大组件?Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供器(Content Provider)活动可以看成是安卓系统的根本,在这个根本上才可以进行其

2022-05-31 20:03:14 191

原创 HashMap结构与原理

文章目录一、Android四大组件二、HashMap 的结构以及原理三、view绘制机制四、Intent一、Android四大组件1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。2、service(1)service用于在后台完成用户指定的操作。ser

2022-05-31 12:51:20 1145

原创 Binder、Handler、synchronized

文章目录一、Activity生命周期方法二、使用步骤1.引入库2.读入数据总结一、Activity生命周期方法主要有onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()和onRestart()等7个方法。onCreate:表示Activity正在被创建,这是生命周期的第一个方法。在这个方法中,我们可以做一些初始化工作,比如调用setContentView去加载界面布局资源、初始化Activity所需数据等。onStart:

2022-05-30 20:13:13 349

原创 (9)计算机基础与软件工程

一、数组与链表的区别从四个方面来说。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_https_context = ssl._create_unverif

2022-05-26 09:52:52 314

原创 (8)机器学习——SVM、决策树、朴素贝叶斯、KNN、K-means、随机森林、Adaboost

一、SVM(支持向量机)示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_defaul

2022-05-25 18:47:31 5188 1

原创 (7)机器学习——GAN与GRU

一、对抗生成网络(GAN)可以生成新的图片或数据。或者让计算机生成人脸图片,用于警察寻找犯罪嫌疑人。生成器目标是生成的东西越真越好,判别器要随着生成器生成的东西,还能判断真假。二、GRUGRU相比LSTM的门减少了很多。LSTM中有输入门,遗忘门,输出门;GRU里面有更新门与重置门。更新门更新门帮助模型决定到底要将多少过去的信息传递到未来,或到底前一时间步和当前时间步的信息有多少是需要继续传递的。这一点非常强大,因为模型能决定从过去复制所有的信息以减少梯度消失的风险。重置门重置门主要决

2022-05-25 13:24:02 595

原创 (6)机器学习算法——RNN与LSTM

一、RNN(递归神经网络)前一个特征会对下一个特征产生影响,在进行特征提取时,把界面结果也考虑进来,会更准确一些。也就是会把之前所有结果记下来,当结果太多了,可能就会记错了,就会产生误差。二、LSTM面对RNN的问题,我们可以使用LSTM解决,也就是使用遗忘门忘记一些特征。总结下一章节介绍对抗生成网络。...

2022-05-25 09:37:42 261

原创 (5)机器学习算法知识---CNN与ResNet

文章目录二、ResNet(残差网络)总结普通神经网络是由输入层、隐藏层、输出层组成,当参数过多,训练就会变的很慢,这个时候就可以减少参数。输入层:输入的不是一个特征,一个维度,而是一个长方体的矩阵(三维的)卷积层:提取特征。举例:输入一个数据维度是7x7x3,7x7表示图像h=7,w=7,有三个通道。Filter W0表示先随机初始化一组权重参数,这里强调一下,输入数据维度通道数与Filter W0维度数是一样的,这里都是3,Filter W0中 3x3x3的矩阵我们称作**卷积核。**计

2022-05-25 09:11:34 7217

原创 17、一年中的第几天

输入:date = “2019-01-09”输出:9解释:给定日期是2019年的第九天。pythonclass Solution(object): def dayOfYear(self, date): year, month, day = map(int, date.split('-')) days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if year % 400 == 0 .

2022-05-24 13:16:34 254

原创 16、字符串反转

题目描述输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。输入: “a good example”输出: “example good a”解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。public String reverseWords(String s) { String[] strs = s.trim().split(" ");//

2022-05-22 14:53:39 419

原创 15、判断二维数组中是否存在目标值

public boolean findNumberIn2DArray(int[][] matrix, int target) { int i = matrix.length - 1, j = 0; while(i >= 0 && j < matrix[0].length) { if(matrix[i][j] > target) i--; else if(matrix[i][j] < ta.

2022-05-19 08:54:48 86

原创 14、双指针——盛最多水的容器

public int maxArea(int[] height) { int low = 0, high = height.length-1, temp = 0, max = 0; while(low < high){ if(height[low] < height[high]){ temp = (high-low) * height[low]; low++; .

2022-05-18 14:48:55 63

原创 (4)计算机基础知识

计算机基础知识 本文写数据结构相关知识文章目录计算机基础知识一、哈希冲突如何解决?总结一、哈希冲突如何解决?哈希表(key-value)之间存在一个映射关系,是键值对的关系,一个键对应一个值。开放定址法:我们在遇到哈希冲突时,去寻找一个新的空闲的哈希地址。举例:就是当我们去教室上课,发现该位置已经存在人了,所以我们应该寻找新的位子坐下,这就是开放定址法的思路。如何寻找新的位置就通过以下几种方法实现。(1)线性探测法当我们的所需要存放值的位置被占了,我们就往后面一直加1并对m取模直到存在一

2022-05-16 20:14:07 66

原创 (3)计算机基础知识

计算机基础知识 本文主要讲解操作系统知识文章目录计算机基础知识一、进程与线程区别与联系?二、使用步骤1.引入库2.读入数据总结一、进程与线程区别与联系?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warn

2022-05-16 11:13:16 132

原创 13、哈希表——两个链表第一个公共节点

题目描述输入:[1,2,3,5,7,8,9]与[0,10,5,7,8,9]输出:[5]public ListNode getIntersectionNode(ListNode headA, ListNode headB) { Set<ListNode> visited = new HashSet<ListNode>(); ListNode temp = headA; while(temp != null){ .

2022-05-15 17:57:26 134

原创 (2)计算机基础知识

计算机基础知识 本节包含了计算机网络等相关知识文章目录计算机基础知识一、get与post请求二、HTTP与HTTPS三、TCP四、为什么要进行三次握手,而不是两次呢?五、四次挥手又是什么呢?六、UDP是什么,与TCP区别是什么?七、url组成总结一、get与post请求TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为了避免

2022-05-15 15:10:32 273

原创 (1)机器学习概念总结

机器学习基础复习 都是好久之前学的了,都快忘光了,还需要加强理解,再复习一下。文章目录机器学习基础复习一、梯度消失与梯度爆炸?二、为什么一定要用激活函数三、Relu四、过拟合与欠拟合五、L1,L2正则化六、Dropout七、梯度下降(网络优化)总结一、梯度消失与梯度爆炸?产生原因梯度消失的原因:一是在深层网络中,二是采用了不合适的损失函数,比如sigmoid。在误差反向传播的过程中,神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于

2022-05-15 10:49:10 233

原创 12、双指针——合并两个有序链表

输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode dum = new ListNode(0), cur = dum; while(l1 != null && l2 != null){ if(l1.val < l.

2022-05-15 09:28:14 163

原创 11、链表反转

输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLpublic ListNode reverseList(ListNode head) { ListNode cur = null, pre = head; while(pre != null){ ListNode t = pre.next; pre.next = cur;.

2022-05-11 20:23:42 52

原创 10、链表中倒数第k个节点

给定一个链表: 1->2->3->4->5, 和 k = 2返回链表 4->5 public ListNode getKthFromEnd(ListNode head, int k) { ListNode cur = head, pre = head; for(int i = 1; i <= k; i++){ cur = cur.next; } while(cur != nu.

2022-05-10 11:30:05 55

原创 9、删除链表中节点

输入: head = [4,5,1,9], val = 5输出: [4,1,9] public ListNode deleteNode(ListNode head, int val) { if(head.val == val) return head.next;//判断头节点是否要删除 ListNode curr = head; //curr.next的值只要不等于val,就一直往下走 while(curr.next !=.

2022-05-10 10:35:58 77

原创 8、数组中出现次数超过一半的数字

示例:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length / 2]; }数组排序后中位数,一定是出现次数超过一半的数字

2022-05-09 15:40:55 41

原创 7、二分法——寻找一组重复或者有序但是旋转的数组

题目描述:输入:numbers = [3,4,5,1,2]输出:1输入:numbers = [2,2,2,0,1]输出:0public int minArray(int[] numbers) { int low = 0, high = numbers.length-1; while(low < high){ int temp = (low + high) / 2; if(numbers[temp] >

2022-05-08 14:34:01 64

原创 6、双指针——递增数组两数之和与目标数相等

public int[] twoSum(int[] nums, int target) { int low = 0, high = nums.length-1; while(low < high){ int sum = nums[low] + nums[high]; if(sum < target) low++; else if(sum >target) high--; .

2022-05-07 20:17:56 60

原创 5、动态规划---斐波那契数列

题目描述:f(0) = 0, f(1) = 1,f(n) = f(n - 1) + f(n - 2), 其中 n> 1。答案需要取模     1e9+7(1000000007) public int fib(int n) { int a = 0, b = 1, sum; for(int i = 0; i < n; i++){ sum = (a + b) % 1000000007; a = b;

2022-05-07 17:37:31 249

原创 4.调整数组顺序使奇数位于偶数前面

双指针 public int[] exchange(int[] nums) { int left = 0, right = nums.length - 1; while(left <= right){ while(left <= right && nums[left] % 2 == 1) left++; while(left <= right &&

2022-05-04 20:29:53 241

原创 3.用数组逆序打印链表

其实我最先想到的是用栈,因为栈是“先进后出”class Solution { public int[] reversePrint(ListNode head) { LinkedList<Integer> stack = new LinkedList<Integer>();//定义栈 while(head != null){ stack.addLast(head.val); head = head

2022-05-04 19:06:13 437

原创 2. 输出数组中重复的数字之一

public int findRepeatNumber(int[] nums) { Set<Integer> dic = new HashSet<>(); for(int num : nums){ if(dic.contains(num)) return num; dic.add(num); } return -1; }for(int num : nums)

2022-05-03 20:47:28 303

原创 1. Java实现二叉树前序遍历

class Solution { public List<Integer> preorderTraversal(TreeNode root) { Stack<TreeNode> stack = new Stack<>();//定义栈 ArrayList<Integer> res = new ArrayList<>();//定义链表 if(root == null){//判断节点是否为空

2022-05-01 11:16:07 1480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除