当前位置: 首页 > news >正文

【双指针】经典数组双指针题LeetCode

文章目录

      • 27. 移除元素 简单
      • 283. 移动零 简单🔥
      • 167. 两数之和 II - 输入有序数组 中等
      • 11. 盛最多水的容器 中等🔥
      • 15. 三数之和 中等(N数之和)中等🔥
      • 42. 接雨水 困难 🔥
      • 26. 删除有序数组中的重复项 简单
      • 5. 最长回文子串 中等

27. 移除元素 简单

题目链接

给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例 1:输入:nums = [3,2,2,3], val = 3
输出:2, nums = [2,2]
解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。
示例 2:输入:nums = [0,1,2,2,3,0,4,2], val = 2
输出:5, nums = [0,1,4,0,3]
解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。注意这五个元素可为任意顺序。你不需要考虑数组中超出新长度后面的元素。

思路:双指针

  • right指针不是val就赋值给left,right++,left++
  • right指针是val就跳过,right++

代码:

class Solution {public int removeElement(int[] nums, int val) {int left = 0,right = 0;while(right<nums.length){if(nums[right]!=val){nums[left] = nums[right];left++;}right++;}return left;}
}

283. 移动零 简单🔥

题目链接

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
示例 2:

输入: nums = [0]
输出: [0]


思路: 前后双指针,将每一个不是0的元素赋值给前面的指针,对未重新赋值的部分赋值0。
代码:

class Solution {public void moveZeroes(int[] nums) {int left = 0;int right = 0;// 依次将right指针指向的非0元素赋值给left指针while(right<nums.length){if(nums[right]!=0){nums[left] =  nums[right];left++;}right++;}// 从 left 开始 赋值0for(int i = left; i < nums.length;i++){nums[i] = 0;}}
}

167. 两数之和 II - 输入有序数组 中等

题目链接

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 <= index1 < index2 <= numbers.length 。

以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。

你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。

你所设计的解决方案必须只使用常量级的额外空间。

示例 1:输入:numbers = [2,7,11,15], target = 9
输出:[1,2]
解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
示例 2:输入:numbers = [2,3,4], target = 6
输出:[1,3]
解释:2 与 4 之和等于目标数 6 。因此 index1 = 1, index2 = 3 。返回 [1, 3] 。
示例 3:输入:numbers = [-1,0], target = -1
输出:[1,2]
解释:-1 与 0 之和等于目标数 -1 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。

思路:在已排序数组(非递减)的前提条件下,Left指针指向第一个元素,Right指针指向最后一个元素。当两者大于目标值时,移动Left指针(left++),小于目标值时,移动Right指针(right–),直到找到目标答案。

代码:

class Solution {public int[] twoSum(int[] numbers, int target) {int left = 0;int right = numbers.length-1;while(left!=right){if(numbers[left]+numbers[right]==target){ // 等于目标值return new int[]{left+1,right+1};}if(numbers[left]+numbers[right]>target){ // 大于目标值,通过right-- 以缩小两者的和right--;}else{                                  //  小于目标值,通过left++ 以扩大两者的和left++;}}return new int[]{-1,-1};}
}

11. 盛最多水的容器 中等🔥

题目链接

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。
在这里插入图片描述


思路:该题首先想到的思路就是暴力搜索,两个For循环寻找最大值,但是时间复杂度过高。我们知道计算机两条线中间容器所盛水的容量取决于两条线中的短边,为了计算容量的最大值,我们只需要更改短边即可。因此,采用左右双指针法,每次移动短边所在的指针,以寻找最大容量。

代码:

class Solution {public int maxArea(int[] height) {// 左右指针int left = 0;int right = height.length - 1;int result = 0;while(left<right){// 计算当前盛水量int currentResult = Math.min(height[left],height[right]) * (right-left);// 更新结果result = Math.max(result,currentResult);// 左右指针所在的两条线谁矮谁移动,以求最大值if(height[left]<height[right]){left++;}else{right--;}}return result;}
}

15. 三数之和 中等(N数之和)中等🔥

题目链接

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1:输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
注意,输出的顺序和三元组的顺序并不重要。
示例 2:输入:nums = [0,1,1]
输出:[]
解释:唯一可能的三元组和不为 0 。
示例 3:输入:nums = [0,0,0]
输出:[[0,0,0]]
解释:唯一可能的三元组和为 0 。

思路:

  • 先将数组排序,将三数之和化简为二数之和问题;先固定一个值,寻找另外两个值。
  • 二数问题依旧采用双指针法解决,但需要考虑答案重复问题,每次移动指针,比如left和left++所在的值一样,则会重复寻找,因此继续++,直到不同。
  • 在数组中,从第一个值开始依次选取一个值进行固定,在其后面的数组中继续寻找另外两个值。(不用再寻找固定值前面的值,否则依旧会重复查找)。
  • 可以将三数之和问题扩展为N数之和问题,将目标和为0改为target。通过递归法将问题不断缩小。
  • 5数之和->就是把每一个4数之和的答案加上固定的那个值,就是5数之和的答案。

代码(N数之和):

class Solution {public List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums); // 先排序 return nSumTarget(nums,0,0,3); // 3数之和等于0}/**nSumTarget:可以解决N sum问题参数:- nums:数组- target:目标值- start:只在[start,nums.length-1]区间寻找- needNum:需要几个数,两数之和就是2,三数之和就是3*/public List<List<Integer>> nSumTarget(int[] nums,int target,int start,int needNum){List<List<Integer>> res = new ArrayList<>();if(needNum<2 || nums.length<needNum) return res;if( needNum == 2){ // 同理 二数之和int left = start,right = nums.length-1;while(left<right){int leftnum = nums[left];int rightnum = nums[right];if(leftnum+rightnum == target){res.add(new ArrayList<Integer>(Arrays.asList(leftnum,rightnum)));while(left<right && nums[right]==rightnum)right--; // right-- 所在的值如果和right一样,则重复寻找了,因此寻找一个和原来right不一样的,即去重while(left<right && nums[left] == leftnum)left++;  // 同理,去重}else if(leftnum+rightnum < target){while(left<right && nums[left] == leftnum)left++; // 同理,去重} else if(leftnum+rightnum > target){while(left<right && nums[right]==rightnum)right--;// 同理,去重}}return res;}else{ // 先定下一个数,将问题规模缩小for(int i = start; i < nums.length;i++){int cur = nums[i]; List<List<Integer>> re = nSumTarget(nums,target-cur,i+1,needNum-1); // 递归调用for(List<Integer> r:re){r.add(cur);// 将定下的数加入到每个字问题的答案中res.add(r);// 将r加入到最终答案中}while(i+1 < nums.length && nums[i]==nums[i+1])  i++; // 同理,去重}return res; // 最终答案}}
}

42. 接雨水 困难 🔥

题目链接

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

在这里插入图片描述


思路:
在这里插入图片描述
除了最两边的位置不可能盛水以外,中间位置的盛水量受左右两边高度的影响,主要取决于较小的一边的最大高度。

代码:

class Solution {public int trap(int[] height) {int len = height.length;if(len<=2)return 0; // base case int[] leftMaxHeight = new int[len]; // 计算每个节点左侧出现过的最大高度(包括当前节点)int[] rightMaxHeight = new int[len];// 计算每个节点右侧出现过的最大高度(包括当前节点)int leftMax = 0;for(int i = 0; i < len;i++){leftMax = Math.max(leftMax,height[i]);leftMaxHeight[i] = leftMax;}int rightMax = 0;for(int i = len-1; i >= 0; i--){rightMax = Math.max(rightMax,height[i]);rightMaxHeight[i] = rightMax;}int res = 0;for(int i = 1;i< len-1;i++){res += Math.min(leftMaxHeight[i],rightMaxHeight[i]) - height[i];}return res;}
}

是否可以再次简化?

通过定义左右双指针,left = 0right = length-1,同时求出leftMaxHeight和rightMaxHeight。并在这个过程中,求出每个位置的盛水量。
在这里插入图片描述

class Solution {public int trap(int[] height) {int len = height.length;if(len<=2)return 0; // base case // 左右指针int left = 0,right = len - 1;// 记录左/右指针的左/右边的最大值(包括左/右节点)int leftMax = 0;int rightMax = 0;int res = 0;while(left<=right){leftMax = Math.max(leftMax,height[left]);rightMax = Math.max(rightMax,height[right]);if(leftMax < rightMax){// 此时,left位置的 Min(左边最大,右边最大)已经确定,就是【左边最大】,即leftMaxres += leftMax - height[left];left++;}else{// 同理res += rightMax - height[right];right--;}}return res;}
}

26. 删除有序数组中的重复项 简单

题目链接

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:

更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
返回 k 。

示例 1:输入:nums = [1,1,2]
输出:2, nums = [1,2,_]
解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。
示例 2:输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]
解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。

思路:快慢指针,快指针如果不等于慢指针,就将快指针的值赋给慢指针的下一个。

代码:

class Solution {public int removeDuplicates(int[] nums) {int left = 0;int right = 0;while(right<=nums.length-1){if(nums[right]!=nums[left]){nums[++left] = nums[right];right++;}else{right++;}}return left+1;}
}

5. 最长回文子串 中等

题目链接

给你一个字符串 s,找到 s 中最长的回文子串。

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。

示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。

示例 2:
输入:s = “cbbd”
输出:“bb”


思路:

  • 通过双指针从中间向外扩,判断回文
  • 依次选择原字符串的中间节点
  • 注意奇数数量和偶数数量的回文串中间节点个数不一样

代码:

class Solution {public String longestPalindrome(String s) {String result = null;result = s.substring(0,1);String r;// 遍历每一个字符,将其作为回文串的中心向外扩展for(int i = 1; i < s.length(); i++) {r = Palindrome(s,i,i);// 寻找奇数个的回文子串if(r.length()>result.length())result = r;r = Palindrome(s,i-1,i);// 寻找偶数个的回文子串if(r.length()>result.length())result = r;}return result;}/*** 返回以s[a]与s[a]为中心的最大回文字串,a可以等于b 或者 a+1 = b* ps:一种回文串为偶数个,中心两个字母、另一种为奇数个,中心一个字母* @param s* @param a* @param b* @return*/public String Palindrome(String s,int a,int b) {// 若s[a]!=s[b] return ""if(s.charAt(a) != s.charAt(b))return "";while (a >= 0 && b<s.length() ){if(s.charAt(a) == s.charAt(b)){a--;b++;}else break;}a = a+1;b = b-1;return s.substring(a,b+1);}
}

参考:
1.《labuladong的算法小抄》
2. https://labuladong.github.io/algo/di-yi-zhan-da78c/shou-ba-sh-48c1d/shuang-zhi-fa4bd/
3. LeetCode Hot 100 🔥

相关文章:

【双指针】经典数组双指针题LeetCode

文章目录 27. 移除元素 简单283. 移动零 简单&#x1f525;167. 两数之和 II - 输入有序数组 中等11. 盛最多水的容器 中等&#x1f525;15. 三数之和 中等&#xff08;N数之和&#xff09;中等&#x1f525;42. 接雨水 困难 &#x1f525;26. 删除有序数组中的重复项 简单5. 最…...

极智嘉x吉利汽车 x京东物流,引领汽车行业智慧物流新变革!

近日&#xff0c;中国领先的汽车制造商吉利汽车携手中国领先的技术驱动的供应链解决方案及物流服务商京东物流、全球仓储机器人引领者极智嘉(Geek)&#xff0c;在西安吉利汽车制造基地RDC仓库率先落地SkyPick上存下拣解决方案&#xff0c;实现了全物流链精益化、智能化、一体化…...

RK3588平台开发系列讲解(AI 篇)RKNN C API 详细说明

文章目录 一、API 硬件平台支持说明二、API 函数介绍2.1、rknn_init2.2、rknn_destroy2.3、rknn_query2.4、rknn_inputs_set2.5、rknn_run2.6、rknn_outputs_get2.7、rknn_outputs_release沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解 RKNN C API 详细…...

【基础】Android Handler

一、博客参考 Handler机制详解【重点】&#xff1a;https://www.jianshu.com/p/b4d745c7ff7a Handler Thread工作线程操作UI范例【重点】&#xff1a;https://www.cnblogs.com/net168/p/4075126.html 二、内存泄漏的解决&#xff1a;静态内部类弱引用 关于 Handler&#xf…...

c语言实现MD5算法

MD5加密 文章目录 MD5加密MD5介绍应用场景代码分析 &#xff08;基于qt5.14.2&#xff09;测试记录 MD5介绍 1。 一种单向加密算法&#xff0c;即对明文加密&#xff0c;而不能通过密文得到明文。对原数据的任何改动&#xff0c;哪怕是1字节&#xff0c;得到的MD5值都有很大的区…...

Apache Doris 2.0.0 特性分析

1、存算分离 所谓存算分离是指查询外表时&#xff0c;使用一种专门做计算的BE节点&#xff0c;但对于存储在BE上的内部表&#xff0c;目前还不能做到存储分离。 doris可以查询外部表&#xff0c;包括&#xff1a; Hive、Iceberg、Hudi、Elasticsearch、JDBC、Paimon 早期版本中…...

如何做H5性能测试?

提起H5性能测试&#xff0c;可能许多同学有所耳闻&#xff0c;但是不知道该如何对H5做性能测试&#xff0c;或者不知道H5应该关注哪些性能指标。今天我们就来看下&#xff0c;希望阅读本文后&#xff0c;能够有所了解。 常用指标 1、H5性能相关参数介绍 白屏时间&#xff1a;…...

【Docker】Docker Desktop配置资源:cpu、内存等(windows环境下)

Docker Desktop配置资源&#xff1a;cpu、内存等&#xff08;windows环境下&#xff09; 一、WSL2 以及 hyper-v区别&#xff0c;二者安装docker desktop1.WSL2和hyper-v区别2.安装Docker Desktop 二、docker desktop限额配置&#xff0c;资源配置方法 Docker 是指容器化技术&a…...

8.2.tensorRT高级(3)封装系列-内存管理的封装,内存的复用

目录 前言1. 内存管理封装2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 高级-内存管理的封装&…...

Keepalived入门指南:实现故障转移和负载均衡

文章目录 一、简介1. Keepalived概述2. 高可用性和负载均衡的重要性 二、故障转移1. 什么是故障转移2. Keepalived的故障转移原理a) VRRP协议b) 虚拟路由器ID和优先级 3. 配置Keepalived实现故障转移a) 主备服务器的设置b) 监控网络接口c) 虚拟IP的配置d) 备份服务器接管流程 三…...

cuOSD(CUDA On-Screen Display Library)库的学习

目录 前言1. cuOSD1.1 Description1.2 Getting started1.3 For Python Interface1.4 Demo1.5 Performance Table 2. cuOSD案例2.1 环境配置2.2 simple案例2.3 segment案例2.4 segment2案例2.5 polyline案例2.6 comp案例2.7 perf案例 3. cuOSD浅析3.1 simple_draw函数 4. 补充知…...

c++函数指针基本用法

将函数像变量一样传递&#xff0c;实际上拿到的是函数的地址&#xff0c;由于函数类型的多样&#xff0c;可以使用auto关键字&#xff0c;可以使用 void(*function2)() &#xff0c;不过它太繁琐&#xff0c;因此使用typedef 起个名字 typedef void(*HelloWorldFunction)(); 叫…...

Java创建对象的几种方式

在Java中&#xff0c;对象是程序中的一种基本元素&#xff0c;它通过类定义和创建。本篇教程旨在介绍Java中创建对象的几种方式&#xff0c;包括使用new关键字、反射、clone、反序列化等方式。 使用new关键字创建对象 在Java中&#xff0c;最常用的创建对象方式是使用new关键…...

Docker实战专栏简介

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

解放数据库,实时数据同步利器:Alibaba Canal

文章首发地址 Canal是一个开源的数据库增量订阅&消费组件&#xff0c;主要用于实时数据同步和数据订阅的场景&#xff0c;特别适用于构建分布式系统、数据仓库、缓存更新等应用。它支持MySQL、阿里云RDS等主流数据库&#xff0c;能够实时捕获数据库的增删改操作&#xff…...

机器学习基础之《分类算法(3)—模型选择与调优》

作用是如何选择出最好的K值 一、什么是交叉验证&#xff08;cross validation&#xff09; 1、定义 交叉验证&#xff1a;将拿到的训练数据&#xff0c;分为训练和验证集。以下图为例&#xff1a;将数据分成5份&#xff0c;其中一份作为验证集。然后经过5次(组)的测试&#x…...

Datawhale Django后端开发入门 TASK03 QuerySet和Instance、APIVIew

一、QuerySet QuerySet 是 Django 中的一个查询集合&#xff0c;它是由 Model.objects 方法返回的&#xff0c;并且可以用于生成数据库中所有满足一定条件的对象的列表。 QuerySet 在 Django 中表示从数据库中获取的对象集合,它是一个可迭代的、类似列表的对象集合。主要特点…...

Python 网页解析中级篇:深入理解BeautifulSoup库

在Python的网络爬虫中&#xff0c;BeautifulSoup库是一个重要的网页解析工具。在初级教程中&#xff0c;我们已经了解了BeautifulSoup库的基本使用方法。在本篇文章中&#xff0c;我们将深入学习BeautifulSoup库的进阶使用。 一、复杂的查找条件 在使用find和find_all方法查找…...

IDEA 如何制作代码补丁?IDEA 生成 patch 和使用 patch

什么是升级补丁&#xff1f; 比如你本地修复的 bug&#xff0c;需要把增量文件发给客户&#xff0c;很多场景下大家都需要手工整理修改的文件&#xff0c;并整理好目录&#xff0c;这个很麻烦。那有没有简单的技巧呢&#xff1f;看看 IDEA 生成 patch 和使用 patch 的使用。 介…...

Redis专题-秒杀

Redis专题-并发/秒杀 开局一张图&#xff0c;内容全靠“编”。 昨天晚上在群友里看到有人在讨论库存并发的问题&#xff0c;看到这里我就决定写一篇关于redis秒杀的文章。 1、理论部分 我们看看一般我们库存是怎么出问题的 其实redis提供了两种解决方案&#xff1a;加锁和原子操…...

C++笔记之std::move和右值引用的关系、以及移动语义

C笔记之std::move和右值引用的关系、以及移动语义 code review! 文章目录 C笔记之std::move和右值引用的关系、以及移动语义1.一个使用std::move的最简单C例子2.std::move 和 T&& reference_name expression;对比3.右值引用和常规引用的经典对比——移动语义和拷贝语…...

ES6自用笔记

目录 原型链 引用类型&#xff1a;__proto__(隐式原型)属性&#xff0c;属性值是对象函数&#xff1a;prototype(原型)属性&#xff0c;属性值是对象 相关方法 person.prototype.isPrototypeOf(stu) Object.getPrototypeOf(Object)替换已不推荐的Object._ _ proto _ _ Ob…...

【BASH】回顾与知识点梳理(二十九)

【BASH】回顾与知识点梳理 二十九 二十九. 进程和工作管理29.1 什么是进程 (process)进程与程序 (process & program)子进程与父进程&#xff1a;fork and exec&#xff1a;进程呼叫的流程系统或网络服务&#xff1a;常驻在内存的进程 29.2 Linux 的多人多任务环境多人环境…...

Docker的Cgroup资源限制

Docker通过Cgroup来控制容器使用的资源配额&#xff0c;包括 CPU、内存、磁盘三大方面&#xff0c;基本覆盖了常见的资源配颡和使用量控制。 Cgoup 是CotrolGroups 的缩写&#xff0c;是Linux 内核提供的一种可以限制、记录、隔高进程组所使用的物理资源&#xff08;如CPU、内存…...

AI智能语音机器人的基本业务流程

先画个图&#xff0c;了解下AI语音机器人的基本业务流程。 上图是一个AI语音机器人的业务流程&#xff0c;简单来说就是首先要配置话术&#xff0c;就是告诉机器人在遇到问题该怎么回答&#xff0c;这个不同公司不同行业的差别比较大&#xff0c;所以一般每个客户都会配置其个性…...

uniapp 上传比较大的视频文件就超时

uni.uploadFile&#xff0c;上传超过10兆左右的文件就报错err&#xff1a;uploadFile:fail timeout&#xff0c;超时 解决&#xff1a; 在manifest.json文件中做超时配置 uni.uploadFile({url: this.action,method: "POST",header: {Authorization: uni.getStorage…...

CSS简介

目录 CSS CSS概念 核心概念 为什么需要CSS 语法 CSS的引入方式 内联样式&#xff08;行内样式&#xff09; 内部样式 外部样式&#xff08;推荐&#xff09; CSS CSS概念 CSS&#xff08;Cascading Style Sheets&#xff09;层叠样式表&#xff0c;又叫级联样式表&am…...

卡方分箱(chi-square)

统计学&#xff0c;风控建模经常遇到卡方分箱算法ChiMerge。卡方分箱在金融信贷风控领域是逻辑回归评分卡的核心&#xff0c;让分箱具有统计学意义&#xff08;单调性&#xff09;。卡方分箱在生物医药领域可以比较两种药物或两组病人是否具有显著区别。但很多建模人员搞不清楚…...

深入理解 Flutter 图片加载原理

作者&#xff1a;京东零售 徐宏伟 来源&#xff1a;京东云开发者社区 前言 随着Flutter稳定版本逐步迭代更新&#xff0c;京东APP内部的Flutter业务也日益增多&#xff0c;Flutter开发为我们提供了高效的开发环境、优秀的跨平台适配、丰富的功能组件及动画、接近原生的交互体验…...

【电子通识】什么是异常分析中的A-B-A方法

工作有了一定的经验之后&#xff0c;在做问题分析的时候&#xff0c;经常会听到别人说把这个部品&#xff08;芯片/模块&#xff09;拿去ABA一下&#xff0c;看看跟谁走。那么对于新人来说是否就会问一个问题&#xff1a;什么是ABA呢&#xff1f; A-B-A 交换是一种简单直接的交…...

linux网站建设论文/爱论坛

介绍&#xff1a; 这是一个用vuejs2.0和element搭建的后台管理界面。 相关技术&#xff1a; vuejs2.0&#xff1a;渐进式JavaScript框架&#xff0c;易用、灵活、高效&#xff0c;似乎任何规模的应用都适用。 element&#xff1a;基于vuejs2.0的ui组件库。 vue-router&#xff…...

阿里云心选建站/seo技术教程博客

01 chromium较全的开关选项说明 https://peter.sh/experiments/chromium-command-line-switches/ 很多命令行开关项在这个文件中 src\chrome\common\chrome_switches.cc02 如何取消一些不感兴趣的工程 https://blog.csdn.net/dopi/article/details/27662959...

企业网站建设合同(一)/杭州网站seo

文章目录数据集格式基于线性回归sigmoid实现二分类的表达式链式法则求导链式表达式求解∂l∂oj^\frac{\partial l}{\partial \hat{o_j}}∂oj​^​∂l​求解∂oj∂wij\frac{\partial o_j}{\partial w_{ij}}∂wij​∂oj​​求解∂oj∂bj\frac{\partial o_j}{\partial b_j}∂bj​∂…...

做视频教育网站/无锡seo公司找哪家好

HTTPS和HTTP的区别主要如下&#xff1a; 1、https协议需要到ca申请证书&#xff0c;一般免费证书较少&#xff0c;因而需要一定费用。 2、http是超文本传输协议&#xff0c;信息是明文传输&#xff0c;https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不…...

wordpress 站点错误/如何推广网站

题目连接&#xff1a; https://acm.bnu.edu.cn/v3/statments/jag2016.pdf 分析&#xff1a; 直接判断‘%’到‘’和最近的‘$’的距离&#xff0c;如果 ‘%’到‘’小于%’到最近的‘$’的距离则输出YES否则输出NO AC代码&#xff1a; #include <iostream> #include…...

成都网站建设科技公司/央视新闻今天的内容

jpsjava -XX:PrintFlagsFinal -version | grep -iE HeapSize|PermSize|ThreadStackSizeexport JAVA_TOOL_OPTIONS-Xms1g -Xmx10g...