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

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_5

《剑指Offer》笔记&题解&思路&技巧&优化_Part_5

  • 😍😍😍 相知
  • 🙌🙌🙌 相识
  • 😢😢😢 开始刷题
    • 🟢1. LCR 158. 库存管理 II——数组中出现次数超过一半的数字
    • 🟢2. LCR 159. 库存管理 III——最小的k个数
    • 🔴3. LCR 160. 数据流中的中位数——数据流中的中位数
    • 🟢4. LCR 161. 连续天数的最高销售额——连续子数组的最大和
    • 🔴5. LCR 162. 数字 1 的个数——1~n整数中1出现的次数
    • 🟡6. LCR 163. 找到第 k 位数字——数字序列中某一位的数字
    • 🟡7. LCR 164. 破解闯关密码——把数组排成最小的数
    • 🟡8. LCR 165. 解密数字——把数字翻译成字符串
    • 🟡9. LCR 166. 珠宝的最高价值——礼物的最大价值
    • 🟡10. LCR 167. 招式拆解 I——最长不含重复字符的子字符串

在这里插入图片描述

😍😍😍 相知

当你踏入计算机科学的大门,或许会感到一片新奇而陌生的领域,尤其是对于那些非科班出身的学子而言。作为一位非科班研二学生,我深知学习的道路可能会充满挑战,让我们愿意迎接这段充满可能性的旅程。

最近,我开始了学习《剑指Offer》和Java编程的探索之旅。这不仅是一次对计算机科学的深入了解,更是对自己学术生涯的一次扩展。或许,这一切刚刚开始,但我深信,通过努力与坚持,我能够逐渐驾驭这门技艺。

在这个博客中,我将深入剖析《剑指Offer》中的问题,并结合Java编程语言进行解析。

让我们一起踏上这段学习之旅,共同奋斗,共同成长。无论你是已经驾轻就熟的Java高手,还是像我一样初出茅庐的学子,我们都能在这里找到彼此的支持与激励。让我们携手前行,共同迎接知识的挑战,为自己的未来打下坚实的基石。

这是我上一篇博客的,也希望大家多多关注!

  1. 《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_1
  2. 《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_2
  3. 《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_3
  4. 《剑指Offer》笔记&题解&思路&技巧&优化 Java版本——新版leetcode_Part_4

🙌🙌🙌 相识

根据题型可将其分为这样几种类型:

  1. 结构概念类(数组,链表,栈,堆,队列,树)
  2. 搜索遍历类(深度优先搜索,广度优先搜索,二分遍历)
  3. 双指针定位类(快慢指针,指针碰撞,滑动窗口)
  4. 排序类(快速排序,归并排序)
  5. 数学推理类(动态规划,数学)

😢😢😢 开始刷题

🟢1. LCR 158. 库存管理 II——数组中出现次数超过一半的数字

题目跳转:https://leetcode.cn/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/description/

排序法

class Solution {public int inventoryManagement(int[] stock) {//复杂度O(nlgn)Arrays.sort(stock);return stock[stock.length/2];}
}

摩尔投票法
要投票当领导 依次遍历 我们知道众数的领导一定赢 如果不一样 就抵消!

在这里插入图片描述

class Solution {public int inventoryManagement(int[] stock) {if(stock.length <= 2){return stock[0];}int x = stock[0];int sum = 1;for(int i =1;i<stock.length;i++){if(sum == 0){x = stock[i];sum = 1;}else{if(x == stock[i]){sum++;} else {sum--;}}}return x;}
}

🟢2. LCR 159. 库存管理 III——最小的k个数

题目跳转:https://leetcode.cn/problems/zui-xiao-de-kge-shu-lcof/description/

排序

class Solution {public int[] inventoryManagement(int[] stock, int cnt) {if(cnt>=stock.length)return stock;Arrays.sort(stock);int[] result = new int [cnt];for(int i = 0;i<cnt;i++){result[i] = stock[i];}return result;}
}

学会个函数

class Solution {public int[] inventoryManagement(int[] stock, int cnt) {if(cnt>=stock.length)return stock;Arrays.sort(stock);return Arrays.copyOfRange(stock, 0, cnt);}
}

快排

class Solution {public int[] getLeastNumbers(int[] arr, int k) {if (k == 0 || arr.length == 0) {return new int[0];}// 最后一个参数表示我们要找的是下标为k-1的数return quickSearch(arr, 0, arr.length - 1, k - 1);}private int[] quickSearch(int[] nums, int lo, int hi, int k) {// 每快排切分1次,找到排序后下标为j的元素,如果j恰好等于k就返回j以及j左边所有的数;int j = partition(nums, lo, hi);if (j == k) {return Arrays.copyOf(nums, j + 1);}// 否则根据下标j与k的大小关系来决定继续切分左段还是右段。return j > k? quickSearch(nums, lo, j - 1, k): quickSearch(nums, j + 1, hi, k);}// 快排切分,返回下标j,使得比nums[j]小的数都在j的左边,比nums[j]大的数都在j的右边。private int partition(int[] nums, int lo, int hi) {int v = nums[lo];int i = lo, j = hi + 1;while (true) {while (++i <= hi && nums[i] < v);while (--j >= lo && nums[j] > v);if (i >= j) {break;}int t = nums[j];nums[j] = nums[i];nums[i] = t;}nums[lo] = nums[j];nums[j] = v;return j;}
}

🔴3. LCR 160. 数据流中的中位数——数据流中的中位数

题目跳转:https://leetcode.cn/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/description/

直接重排变成有序数组 挺暴力的

class MedianFinder {List<Integer> list = null;/** initialize your data structure here. */public MedianFinder() {list = new ArrayList<>();}public void addNum(int num) {list.add(num);}public double findMedian() {Collections.sort(list);if(list.size() % 2 == 0){return (double)(list.get(list.size()/2 -1) + list.get(list.size()/2))/2.0;}else{return (double)list.get(list.size()/2);}}
}

大根堆和小根堆

在这里插入图片描述

class MedianFinder {Queue<Integer> min, max;/** initialize your data structure here. */public MedianFinder() {min = new PriorityQueue<>(); // ⼩根,保存较⼤的max = new PriorityQueue<>((x, y) -> (y - x));// ⼤根}public void addNum(int num) {// 如果是偶数if(min.size() == max.size()){min.add(num);max.add(min.poll());} else {max.add(num);min.add(max.poll());}}public double findMedian() {// 如果是偶数if(min.size() == max.size()){return (min.peek() + max.peek()) / 2.0;} else {return max.peek() * 1.0;}}
}

🟢4. LCR 161. 连续天数的最高销售额——连续子数组的最大和

题目跳转:https://leetcode.cn/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/description/

class Solution {public int maxSales(int[] sales) {int[] maxsale = new int[sales.length];int sum = -101;maxsale[0] = sales[0];sum = Math.max(sum,maxsale[0]);for(int i = 1;i<sales.length;i++){if(maxsale[i-1]>=0){maxsale[i] = maxsale[i-1]+sales[i];}else{maxsale[i] = sales[i];}sum = Math.max(sum,maxsale[i]);}return sum;}
}

🔴5. LCR 162. 数字 1 的个数——1~n整数中1出现的次数

题目跳转:https://leetcode.cn/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/description/

给定一个整数 num,计算所有小于等于 num 的非负整数中数字 1 出现的个数。
示例 1:
输入:num = 0 输出:0 示例 2:
输入:num = 13 输出:6
解释:1(1次)、10(1次)、11(2次)、12(1次)、13(1次) 共 6次

如果你想的是这个,别想了 超时警告

class Solution {
public:int countDigitOne(int n) {int count = 0;for (int i = 1; i <= n; i++) {count += countOne(i);}return count;}int countOne(int n) {int num = 0;while (n) {if (n % 10 == 1) {num++;}n /= 10;}return num;}
};```
//3101592/**计算从1-n出现1的总次数*就是计算1-n所有整数 个位+十位+百位+..为1的总和*举个例子:把百位固定*3101 5 92  我们把百位 5>1 取出来 *5前面可以取0-3101,5后面可以取0-99*一共有(3101+1)*100(百位)种组合使百位为1**再举个例子:把千位固定*310 1 592  我们把千位1=1取出来 这里可以分两种情况:*  1前面可以取0-309时 1后面可以取0-999*  1前面取310,1后面可以取0-592*一共有(310)*1000(千位)+(592+1)种组合使千位为1*再举最后一个例子:把万位固定*31 0 1592,把万位0<1 前面可以取0-30,0后面可以取0-9999*一共有(31)*10000(万位)种组合使万位为1*我们可以分别计算一个数的个位百位...对应的组合数,最后相加*基本情况就是上面的例子,分别对应的位元素 是大于1,等于1,等于0*/
class Solution {public int digitOneInNumber(int num) {if(num<=0)return 0;long  base = 1;long  res = 0;while(base<=num){long b = num % base;long a = num / base;long cur = a%10;a/=10;if(cur>1)res +=(a+1)*base;else if(cur==1) res +=(a*base+b+1);else res += a*base;base*=10;}return (int)res;}
}

🟡6. LCR 163. 找到第 k 位数字——数字序列中某一位的数字

题目跳转:https://leetcode.cn/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu-zi-lcof/description/

/* 数字范围    数量  位数    占多少位1-9        9      1       9*1=910-99      90     2       90*2=180100-999    900    3       900*3=27001000-9999  9000   4       9000*4=36000  ...例如 2901 = 9 + 180 + 2700 + 12 即一定是4位数,第12位   n = 12;数据为 = 1000 + (12 - 1)/ 4  = 1000 + 2 = 1002定位1002中的位置 = (n - 1) %  4 = 3    s.charAt(3) = 2;
*/
class Solution {public int findKthNumber(int n) {if(n<=9)return n;long bit = 1;int i = 1;long count = 9;while(count < n){n = (int)(n - count);bit = bit * 10;i++;count = bit * i * 9;}// 确定是在这个区间的哪个数long num = bit + (n - 1) / i;// 确定在 Num 的那个字符int index = (n - 1) % i + 1;int res = (int)(num / Math.pow(10, i - index)) % 10;return res;}
}

🟡7. LCR 164. 破解闯关密码——把数组排成最小的数

题目跳转:https://leetcode.cn/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/description/

class Solution {public String crackPassword(int[] password) {String[] passwordstring = new String[password.length];for(int i = 0;i < password.length;i++){//passwordstring[i] = password[i]+"";passwordstring[i] = String.valueOf(password[i]);}StringBuilder stringbuilder = new StringBuilder();Arrays.sort(passwordstring,(a,b)-> ((a+b).compareTo(b+a)));for(int i = 0;i < passwordstring.length;i++){stringbuilder.append(passwordstring[i]);}return stringbuilder.toString();}
}

学习快排
在这里插入图片描述

class Solution {public String crackPassword(int[] password) {String[] passwordstring = new String[password.length];for(int i = 0;i < password.length;i++){//passwordstring[i] = password[i]+"";passwordstring[i] = String.valueOf(password[i]);}quickSort(passwordstring,0,passwordstring.length-1);StringBuilder stringbuilder = new StringBuilder();for(int i = 0;i < passwordstring.length;i++){stringbuilder.append(passwordstring[i]);}return stringbuilder.toString();}public void quickSort(String[] arr,int left ,int right){if(left>right){return;}int i = partition(arr, left, right);quickSort(arr, left, i - 1);quickSort(arr, i + 1, right);}int partition(String[] arr, int left, int right){String pivot = arr[left]; // 中间值int i = left;int j = right;while (i < j) {while (i <= j && (arr[i] + pivot).compareTo(pivot +arr[i]) <= 0) {i++;}while (i <= j && (arr[j] + pivot).compareTo(pivot +arr[j]) >= 0) {j--;}if(i >= j){break;}String temp = arr[i];arr[i] = arr[j];arr[j] = temp;}arr[left] = arr[j];arr[j] = pivot;return j;}   
}

🟡8. LCR 165. 解密数字——把数字翻译成字符串

题目跳转:https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/description/

class Solution {public int crackNumber(int ciphertext) {String string = ciphertext+"";int temp = string.length();int [] dp = new int[temp+1];dp[0] = 1;dp[1] = 1;for(int i = 2;i<=temp;i++){if(string.charAt(temp-i)>'2'||string.charAt(temp-i)=='0'){dp[i] = dp[i-1];}else if (string.charAt(temp-i)=='2'){if(string.charAt(temp-i+1)<='5'){dp[i]=dp[i-1]+dp[i-2];}else{dp[i] = dp[i-1];}}else{dp[i]=dp[i-1]+dp[i-2];}}return dp[temp];}
}

🟡9. LCR 166. 珠宝的最高价值——礼物的最大价值

题目跳转:https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/

class Solution {public int jewelleryValue(int[][] frame) {if(frame.length==0||frame[0].length==0)return 0;// 动态规划int [][] dp = new int[frame.length][frame[0].length];for(int i = 0;i<frame.length;i++){for(int j = 0;j<frame[i].length;j++){if(i==0&&j==0){dp[i][j] = frame[i][j];}else if(i!=0&&j==0){dp[i][j] = frame[i][j]+dp[i-1][j];}else if(j!=0&&i==0){dp[i][j] = frame[i][j]+dp[i][j-1];}else{dp[i][j] = frame[i][j]+Math.max(dp[i-1][j],dp[i][j-1]);}}}return dp[frame.length-1][frame[0].length-1];}
}

🟡10. LCR 167. 招式拆解 I——最长不含重复字符的子字符串

题目跳转:https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/description/

自己写的
在这里插入图片描述

class Solution {public int dismantlingAction(String arr) {if(arr.length()==0||arr.length()==1)return arr.length();char [] chararr = arr.toCharArray();int left = 0;int right = 0;HashMap<Character,Integer> hashMap = new HashMap<>();int [] result = new int[chararr.length];int max = 1;for(int i = 0;i<chararr.length;i++){if(i == 0) {result[0] = 1;hashMap.put(chararr[0],1);continue;}int temp = result[i-1]+1;if(hashMap.containsKey(chararr[i])&&hashMap.get(chararr[i])!=0){while(hashMap.containsKey(chararr[i])&&hashMap.get(chararr[i])!=0){hashMap.put(chararr[left],hashMap.get(chararr[left])-1);temp--;left++;if(left==right)break;}result[i]= temp;}else if(!hashMap.containsKey(chararr[i])||(hashMap.containsKey(chararr[i])&&hashMap.get(chararr[i])==0)){temp = result[i-1]+1;result[i]= temp;}max = Math.max(max,result[i]);hashMap.put(chararr[i],1);}return max;}
}

优化版本

class Solution {// 优化版本public int lengthOfLongestSubstring(String s) {if(s == null || s.length() <= 0){return 0;}// 优化 => 单个变量Map<Character,Integer> map = new HashMap<>();//int[] dp = new int[s.length()];int a = 1;map.put(s.charAt(0), 0);int res = 1;for(int i = 1; i < s.length(); i++){if(!map.containsKey(s.charAt(i))){a = a + 1;// 就是没有刷新 a 之前,a表示dp[i-1]}else{int k = map.get(s.charAt(i));a = i - k <= a ? i - k : a + 1;}res = Math.max(res, a);map.put(s.charAt(i), i);}return res;// 时间On,空间On}
}

相关文章:

《剑指Offer》笔记题解思路技巧优化 Java版本——新版leetcode_Part_5

《剑指Offer》笔记&题解&思路&技巧&优化_Part_5 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题&#x1f7e2;1. LCR 158. 库存管理 II——数组中出现次数超过一…...

ubuntu上安装docker

在 Ubuntu 上安装 Docker&#xff0c;可以按照以下步骤进行操作&#xff1a; 更新软件包列表&#xff1a;运行以下命令来更新系统的软件包列表&#xff1a; sudo apt update安装必要的依赖项&#xff1a;运行以下命令来安装 Docker 所需的依赖项&#xff1a; sudo apt install …...

【Docker】Linux主机部署Docker

Docker部署 1.二进制文件部署 到如下地址&#xff0c;下载二进制包。 Docker官网&#xff1a;https://docs.docker.com/engine/install/binaries/ 网易镜像源&#xff1a;https://mirrors.163.com/docker-ce/linux/static/stable/x86_64/ 下载好的二进制包上传到主机&#xf…...

vue前端docx库生成word表格 并合并单元格的例子

Vue.js 是一个流行的前端JavaScript框架&#xff0c;用于构建用户界面和单页应用程序。在Vue中生成Word表格并合并单元格&#xff0c;通常需要使用额外的库&#xff0c;如docx&#xff0c;它是一个用于创建和修改Word文档&#xff08;.docx&#xff09;的JavaScript库。 …...

FastGPT配置文件及OneAPI程序:

FastGPT配置文件及OneAPI程序&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;wuhe 创建fastgpt目录&#xff1a;mkdir fastgpt 切换到fastgpt目录&#xff1a;cd fastgpt 下载docker-compose文件&#xff1a;curl -O https://raw.githubusercontent.com/labring/Fast…...

Positive Semidefinite Matrices 什么是半正定矩阵?(undone)

参考视频&#xff1a;https://www.bilibili.com/video/BV1Vg41197ew/?vd_source7a1a0bc74158c6993c7355c5490fc600 参考资料(半正定矩阵的定义)&#xff1a;https://baike.baidu.com/item/%E5%8D%8A%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/2152711?frge_ala 看看半正定矩阵的…...

shapely 笔记:STR TREE

数据结构笔记&#xff1a;R树-CSDN博客 1 基本介绍 使用Sort-Tile-Recursive (STR) 算法创建的仅查询的R-tree空间索引该树索引每个几何图形的边界框。树在初始化时直接构建&#xff0c;且一旦创建后不能添加或移除节点所有操作返回输入几何图形的索引边界框限于二维并且是轴…...

neo4j常用代码

1】查版本&#xff1a; CALL dbms.components() YIELD name, versions RETURN name, versions; 2】清数据&#xff1a; MATCH ()-[r]->() DELETE r; MATCH (n) DETACH DELETE n; 3】NEO4J 操作入门_neo4j查看历史执行命令-CSDN博客 :play --首页 :help match/keys/com…...

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(五)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型,由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”(そら sora),即天空之意,以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模型DALL-E基础上开发而成的。模型的训练数据既包含公开…...

Less预处理器教程

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 一、Less介绍 less官方文档 lesscss.org/ less中文文档 less.bootcss.com/ less是一种css预处理器&#xff0c;它扩展了css语言&#xff0c…...

PCL 计算点云AABB包围盒的体积

目录 一、AABB包围盒二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、AABB包围盒 AABB包围盒又称了 轴对齐包围盒,是点云包围盒里最简单的一种,其计算方法也极其简单。获取包围盒之后,根据包围盒的长宽高进行体积计算即…...

论软件测试工程师 重要性!

在生活中&#xff0c;我们常常会遇到以下几种窘迫时刻&#xff1a; 准备骑共享单车出行&#xff0c;却发现扫码开锁半天&#xff0c;车子都没有反应&#xff1b;手机导航打车&#xff0c;却发现地图定位偏差很大&#xff0c;司机总是跑错地方&#xff1b;买个水&#xff0c;却…...

防御第六次作业-防火墙综合实验(av、url过滤、dns过滤)

目录 拓扑图&#xff1a; 要求&#xff1a; 8 9 10 11 拓扑图 要求 前7个要求在上一篇博客&#xff1b; 8.分公司内部的客户端可以通过域名访问到内部的服务器 9.假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件&#xff0c;内网的FTP服务器也需要…...

打码半年,开源一款自定义大屏设计软件!

hi&#xff0c;大家好&#xff0c;我是Tduck马马。 最近我们开源了一款大屏软件-TReport&#xff0c;与大家分享。 TReport是一款基于Vue3技术栈的数据可视化系统&#xff0c;支持静态、动态api等数据源&#xff1b;可用于数据可视化分析、报表分析、海报设计使用。 提供自定…...

云计算基础-大页内存

大页内存功能概述 什么是大页内存 简单来说&#xff0c;就是通过增大操作系统页的大小来减小页表&#xff0c;从而避免快表缺失 主要应用场景 主要运用于内存密集型业务的虚拟机&#xff0c;比如对于运行数据库系统的虚拟机&#xff0c;采用HugePages(大页)后&#xff0c;可…...

数据结构-邻接链表

介绍 邻接矩阵是运用较多的一种储存图的方法&#xff0c;但如果一张网图边数较少&#xff0c;就会出现二维矩阵中大部分数据为0的情况&#xff0c;浪费储存空间 为了避免空间浪费&#xff0c;也可以采用数组与链表结合的方式来存储图 假设有这样一张图 我们可以先用一个数组…...

十三、集合进阶——单列集合 及 数据结构

单列集合 及 数据结构 13.1 集合体系结构13.1.2 单列集合1. Collection2.Collection 的遍历方式迭代器遍历增强for遍历Lambda表达式遍历 3.List集合List集合的特有方法List集合的遍历方式五种遍历方式对比 4.数据结构1).栈2).队列3&#xff09;数组4&#xff09;链表小结5&…...

Android | ArcGIS入门

一、概述 ArcGIS是由Esri开发的地理信息系统&#xff08;GIS&#xff09;软件。它用于制图、空间分析和数据可视化。ArcGIS允许用户以各种格式创建、管理、分析和共享地理信息。它通常用于城市规划、环境管理和应急响应等领域。该软件包括一系列工具&#xff0c;用于创建地图、…...

dockerfile文件书写

1.dockerfile构建nginx镜像 1.1书写dockerfile文件 mkdir nginx #创建nginx目录 cd nginx vim dockerfile # 修改文件FROM centos # 基础镜像&#xff0c;默认最新的centos8操作系统 MAINTAINER xianchao # 指定镜像的作者信息 RUN rm -rf /etc/yum.repos.d/* # centos8默认…...

蓝桥杯-整数删除

给定一个长度为 N 的整数数列&#xff1a;A1, A2, ... , AN。你要重复以下操作 K 次&#xff1a; 每次选择数列中最小的整数&#xff08;如果最小值不止一个&#xff0c;选择最靠前的&#xff09;&#xff0c;将其删除。 并把与它相邻的整数加上被删除的数值。 输出 K 次操作后…...

以程序员的视角,看前后端分离的是否必要?

Hello&#xff0c;我是贝格前端工场&#xff0c;本篇分享一个老生常谈的话题&#xff0c;前后端分离是必然趋势&#xff0c;但也是要区分具体的场景&#xff0c;欢迎探讨&#xff0c;关注&#xff0c;有前端开发需求可以私信我&#xff0c;上车了。 一、什么是前后端分离和不分…...

Linux:sed进阶(12)

Linux&#xff1a;shell脚本&#xff1a;基础使用&#xff08;5&#xff09;《正则表达式-sed工具》_linux脚本表达式s-CSDN博客https://blog.csdn.net/w14768855/article/details/132347574?ops_request_misc%257B%2522request%255Fid%2522%253A%252217084222871680019707523…...

Linux命令-builtin命令(执行bash内建命令)

说明 用于执行指定的bash内建命令。builtin 命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。 语法 builtin [shell-builtin [arg ...]]参数 shell-builtin&#xff08;可选&#xff09;&#xff1a;要调用的bash内建命令。 arg&#xff08;可选&#xff09…...

HTML的特殊字符

HTML的特殊字符 有些特殊的字符在 html 文件中是不能直接表示的&#xff0c;例如: 空格&#xff0c;小于号(<)&#xff0c;大于号(>)&#xff0c;按位与(&)。 空格 示例代码&#xff1a; 运行结果&#xff1a; 由于html 标签就是用 < > 表示的&#xff0…...

内核移植学习

内核移植 内核移植就是指将RT-Thread内核在不同的芯片架构、不同的板卡上运行起来。 移植可分为CPU架构移植和BSP板级支持包移植两部分。 CPU架构移植 在嵌入式领域有多种不同CPU架构&#xff0c;例如Cortex-M、ARM920T、MIPS32、RISC-V等等。 为了使RT-Thread能够在不同C…...

Mysql 两个日期相减得到指定的格式数据

首先避坑&#xff1a; Mysql 中两个日期直接相减&#xff0c;若在同一天则得到的是秒&#xff0c;否则相减得到的并不是秒&#xff0c;一定要注意。 函数 TIMESTAMPDIFF(unit,begin,end); 函数返回 begin - end 的结果。 其中 begin 和 end 是 DATE 或 DATETIME 表达式。 …...

第六十四天 服务攻防-框架安全CVE复现Apache shiroApache Solr

第六十四天 服务攻防-框架安全&CVE复现Apache shiro&Apache Solr 知识点: 中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic.JBoos,WebSphere, Jenkins,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring, Flask,jQuery等 1、开发框…...

JavaScript 设计模式之享元模式

享元 将一部分共用的方法提取出来作为公用的模块 const Car {getName: function () {return this.name},getPrice: function (price) {return price * 30} }const BMW function (name, price) {this.name namethis.price price } BMW.prototype Car const bmw new BMW(…...

利用故事推动企业变革:如何提升数据分析技能

单一的数据和表格尽管有算法的支撑&#xff0c;但在其表达方式上总会让人感到头疼。当我们需要深入了解企业的盈利能力&#xff0c;或是尝试评估业务的增长机会时&#xff0c;以往都会将精力全部放在分析数字、阅读信息、回顾历史和沟通交流之上&#xff0c;却忽略随之而生成的…...

Python内置函数04——enumerate

文章目录 概述语法实例展示 概述 在Python中&#xff0c;enumerate()是一个很常用的内置函数。它的作用是将一个可迭代对象&#xff08;如列表、元组、字符串等&#xff09;组合为一个索引序列和元素序列的枚举对象。 语法 enumerate(iterable, start0) 其中&#xff0c;ite…...