E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
codeforces刷题题解
蓝桥杯真
题解
析(穿越时空之门)
问题描述随着2024年的钟声回荡,传说中的时空之门再次敞开。这扇门是一条神秘的通道,它连接着二进制和四进制两个不同的数码领域,等待着勇者们的探索。在二进制的领域里,勇者的力量被转换成了力量数值的二进制表示中各数位之和。在四进制的领域里,力量的转换规则相似,变成了力量数值的四进制表示中各数位之和。穿越这扇时空之门的条件是严苛的:当且仅当勇者在二进制领域的力量等同于四进制领域的力量时,他才能够成功地穿
中二电工吹短笛
·
2025-03-10 15:19
算法
数据结构
蓝桥杯
蓝桥杯
刷题
周计划(第二周)
目录前言题目一题目代码
题解
分析题目二题目代码
题解
分析题目三题目代码
题解
分析题目四题目代码
题解
分析题目五题目代码
题解
分析题目六题目代码
题解
分析题目七题目代码
题解
分析题目八题目
题解
分析题目九题目代码
题解
分析题目十题目代码
题解
分析题目十一题目代码
题解
分析题目十二题目代码
题解
分析题目十三题目代码
题解
分析题目十四题目代码
题解
分析题目十五题目代码
题解
分析题目十六题目代码
题解
分析题目十七题目代码
题解
分析题目十八
EnigmaCoder
·
2025-03-10 15:47
蓝桥杯刷题周计划
蓝桥杯
算法
学习
leetcode hot100 二叉树
8️⃣二叉树94.二叉树的中序遍历
题解
:递归即可publicListinorderTraversal(TreeNoderoot){Listres=newArrayListres){if(root==null
yadanuof
·
2025-03-10 15:16
yy的刷题之路
java
b树
PTA L2 题目合集
L2-001紧急救援(25分)
题解
链接L2-002链表去重(25分)#include#definePISpair#definevalfirst#definenesecondusingnamespacestd
不牌不改
·
2025-03-10 15:14
#
【PTA】
c++
算法
L2-031 深入虎穴 (25 分) PTA GPLT 天梯题目集 记忆数组+以尾顶点向上递归求解 C/C++
题解
一、题目L2-031深入虎穴(25分)著名的王牌间谍007需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路通向一扇门……他的手里有一张表格,是其他间谍帮他收集到的情报,他们记下了每扇门的编号,以及这扇门背后的每一条通路所到达的门的编号。007发现不存在两条路通向同一扇门
陈一啊
·
2025-03-10 14:42
天梯
2024 CCPC 第18届东北四省联赛 The 18th Northeast Collegiate I. Password 【计数DP】
I.Password传送门:https://
codeforces
.com/gym/105173题意一个长度为nnn的序列aaa,每一项都是[1,k][1,k][1,k]的正整数。
吵闹的人群保持笑容多冷静
·
2025-03-10 14:11
算法
动态规划
力扣热题 100:图论专题经典
题解
析
文章目录一、岛屿数量(题目200)1.题目描述2.示例3.解题思路4.代码实现(Java)5.复杂度分析二、腐烂的橘子(题目994)1.题目描述2.示例3.解题思路4.代码实现(Java)5.复杂度分析三、课程表(题目207)1.题目描述2.示例3.解题思路4.代码实现(Java)5.复杂度分析四、实现Trie(前缀树)(题目208)1.题目描述2.示例3.解题思路4.代码实现(Java)5.复杂
剑走偏锋o.O
·
2025-03-10 14:41
leetcode
图论
算法
java
学习
笔记
【2025】Cursor深度使用指南|环境配置与常见问
题解
决方案
本文详细解析新一代智能编程工具的核心功能,提供环境搭建指引与典型问题应对策略,助力开发者提升工作效率。本文配套资料下载cursor永久免费完整资源包1.开发工具特性解析该编程工具整合了先进的智能辅助技术,采用与主流编辑器相似的界面布局。对于熟悉常见开发环境的用户,可以快速实现功能迁移与操作适配,同时支持扩展管理、运行环境配置等核心功能。2.核心操作指令汇总提升效率的四大组合键:Tab键:智能补全代
herobrineAC12
·
2025-03-10 14:37
AI编程
LeetCode Hot100
刷题
——反转链表(迭代+递归)
206.反转链表给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[]提示:链表中节点的数目范围是[0,5000]-50002->3->4->5->null,反转后变成null<-1<-2<-3<-4<-5。那在迭代的时候,初始状
圈圈编码
·
2025-03-10 14:06
leetcode
链表
算法
leetcode hot100 图论
题解
:二维数组,遍历遇到当前值为1的,岛屿数加一,然后进行岛屿治理–dfs深度遍历当前值所在的岛屿,将该岛屿所在的其他值全部置为’2’,那么继续遍历时就不会重复计算cla
yadanuof
·
2025-03-10 14:06
yy的刷题之路
leetcode
图论
深度优先
AtCoder ABC E - Min of Restricted Sum
题解
根据输入考虑建图,x、y两个下标的边权为z,建无向图这样我们可以得到一些连通块。根据异或和的性质,对于每一个连通块,我们只要知道其中一个点的点权就能推出所有的点权。最小值考虑贪心,针对当前连通图所有点权二进制数的每一位,假如这一位是1,要想保留更多的1就让别的本位为1的数的这一位是0,于是统计每一位1的个数,若1比0多则起点这一位为1,这样保证了0多。判定可行性:深搜跑一边,如果遍历过了但是点权不
和旋_菾律
·
2025-03-10 13:05
算法
数据结构
python运动统计 2024年9月python二级真题 青少年编程电子学会编程等级考试python二级真
题解
析
目录python字符串输出一、题目要求1、编程实现2、输入输出二、算法分析三、程序代码四、程序说明五、运行结果六、考点分析七、推荐资料1、蓝桥杯比赛2、考级资料3、其它资料python字符串输出2024年9月python编程等级考试二级编程题一、题目要求1、编程实现李想同学是班级的体育委员,他负责统计和督促同学们加强锻炼。因此,他统计了班上几位同学周一和周二的运动步数。周一的步数分别为:4125,
小兔子编程
·
2025-03-10 10:40
Python编程
Python二级真题
Python考级真题
Python二级题目
Python案例
Python运动统计
Python信息素养
LeetCode
刷题
之python解法(持续更新)
1.TwoSum4行classSolution:deftwoSum(self,nums:List[int],target:int)->List[int]:d={}fori,ninenumerate(nums):ifnind:return[d[n],i]d[target-n]=iO(N)时间效率的快速解法,用字典记录{需要的值:当前索引}2.AddTwoNumbers5行#Definitionfor
gong_wanyi
·
2025-03-10 09:02
Python
Deepseek-R1性能指标
目录Figure基准测试任务1.AIME2024(Pass@1)2.
Codeforces
(Percentile)3.GPQADiamond(Pass@1)4.MATH-500(Pass@1)5.MMLU
ZHOU_CAMP
·
2025-03-10 08:31
agent
论文解读
人工智能
agent
一起刷C语言菜鸟教程100题(15-26含解析)
不过还是要继续学习的,之后就照常更新,先说一下,这个100题是菜鸟教程里面的,但是有一些题,我加入了自己的理解,甚至对有一些题进行了改编,目的是让大家更顺手一点,链接放在下面,需要的小伙伴可以点进去看看,话不多说,开始
刷题
Re.不晚
·
2025-03-10 04:55
C语言菜鸟教程的一些题目讲解
算法
c语言
c++
开发语言
c#
今天这道题看了好久的
题解
,才理解意思,看来有的时候
刷题
也要积累一些知识。
classSolution:defgameOfLife(self,board:List[List[int]])->None:"""Donotreturnanything,modifyboardin-placeinstead."""importnumpyasnpr,c=len(board),len(board[0])board_exp=np.array([[0for_inrange(c+2)]for
suohanfjiusbis
·
2025-03-10 02:14
python
leetcode
算法
Java基础语法以及面试技巧(三)
Java流程控制核心指南(面试重点)上期面试
题解
答上文链接:https://blog.csdn.net/weixin_73492487/article/details/1461290581.i++与++
self-discipline634
·
2025-03-09 23:46
java
开发语言
Arcgis投影坐标系转为地理坐标系
问
题解
答“15”意为按6°分带,处于第15带。因此这幅图使用2000的投影坐标系(CGCS2000_GK_Zone_15)。
翘楚、
·
2025-03-09 23:45
arcgis
P4168 [Violet] 蒲公英
题解
《P4168[Violet]蒲公英
题解
》题目入口一、题目概述核心任务:给定一个长度为(n)的蒲公英种类序列({a_1,a_2,\cdots,a_n}),需要对(m)次询问做出回应。
笑谈c语言
·
2025-03-09 23:14
紫题
分块
P8925 「GMOI R1-T2」Light
题解
P8925「GMOIR1-T2」Light让我们好好观察样例解释的这一张图:左边第111个像到OOO点的距离:L×2=2LL\times2=2LL×2=2L右边第111个像到OOO点的距离:R×2=2RR\times2=2RR×2=2R左边第222个像到OOO点的距离:右边第111个像到达LLL的距离是2R+L2R+L2R+L。而这样子距离OOO还差一个LLL,最终结果就是2L+2R2L+2R2L
W9095
·
2025-03-09 22:10
学习
笔记
c++
算法
python
刷题
:哥德巴赫猜想
Description哥德巴赫猜想:对于任一个大于或等于4的偶数n,至少存在一对素数p1和p2,使得n=p1+p2。这个猜想目前既没有被证明,也没有被否定。没有人确定这个猜想是否成立。但是,如果对于给定的一个偶数,存在这样一对素数的话,人们是可以找到的。我们的要求是编写一个程序,对于给定的一个偶数,计算出存在多少对素数满足这个猜想。在输入中给出一系列偶数。对于每一个数,程序输出存在的素数对数。注意
小赵睡不醒:
·
2025-03-09 22:34
python
python
算法
开发语言
华为OD机试 - 幸运数字(Java 2024 E卷 100分)
华为OD机试2024E卷题库疯狂收录中,
刷题
点这里专栏导读本专栏收录于《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》。
哪 吒
·
2025-03-09 22:33
华为od
java
开发语言
第五章:操作系统的处理器调度课后习题
.作业状态与进程管理6.进程优先级调整时机7.作业调度后进程的初始状态8.短作业优先调度算法9.处理机调度的叙述操作系统中的作业调度和进程管理1.作业调度和周转时间2.分时与批处理系统的调度优先级简答
题解
答
Argonaut春
·
2025-03-09 21:02
操作系统第二版详解
服务器
linux
前端
操作系统
处理器调度
两篇
题解
——理想的正方形deepseek做法
嗯,这道题看起来是要找一个n×n的正方形区域,使得该区域内最大值和最小值的差最小。那我得仔细看看题目要求。题目给了一个a×b的矩阵,要从中找出所有可能的n×n正方形,然后计算每个这样的正方形的max-min,最后取所有中的最小值。首先,我得想到怎么高效地计算每个n×n窗口的最大和最小值。因为直接遍历每个窗口然后找最大和最小的话,时间复杂度会很高。比如a和b都是1000的话,n是100的话,这样的窗
Cool_(wly)_Dino
·
2025-03-09 18:05
deepseek
算法
数据结构
c++
学习
开发语言
AtCode 第396场初级竞赛 A-E
题解
ATripleFour(三重四)【题目链接】原题链接:A-TripleFour【考点】循环,判断【题目大意】判断连续三个数是否相同【解析】三个变量不断滚动,判断是否相等。【难度】GESP二级【代码参考】b=c#includeusingnamespacestd;intmain(){intn,a,b,c;cin>>n>>a>>b;//前两个元素a和b//注意从第三个元素开始for(inti=3;i>c
是帅帅的少年
·
2025-03-09 18:28
青少年编程比赛题解
算法
c++
Atcode
二进制安卓清单 binary AndroidManifest - XCTF apk 逆向-2
攻防世界XCTF【Mobile】APK逆向-2
题解
正常下载附件,解压后,拖到JADX-gui中去反编译一下,然-掘金Android
dilvx
·
2025-03-09 18:58
android
xml
深入理解 TCP 协议:可靠传输、连接管理与经典面试
题解
析
TCP(TransmissionControlProtocol)是互联网中最重要的传输层协议之一,其设计目标是提供可靠的、面向连接的、全双工的数据传输服务。本文将从核心机制、工作原理到经典面试题,全面解析TCP协议的关键特性。一、TCP核心特性1.有连接三次握手建立连接,四次挥手释放连接,确保通信双方的数据传输路径畅通。面向连接vs无连接(如UDP):TCP在数据传输前需要建立虚拟链路,而UDP直
伤心辞
·
2025-03-09 17:24
网络
at_abc396_c
题解
###思路首先,一个很显然的结论,$a_i$中大于等于$0$的数一定要选。然后,对于$a_i$中的负数,我们要根据选择他后,$a_i+b_i$是否大于等于$0$。所以思路很明显了,可以直接排序后用双指针做。###代码```cpp#includeusingnamespacestd;constlonglongN=2000010;longlongn,m;longlonga[N],b[N];booldeb
hjyowl
·
2025-03-09 16:16
c语言
开发语言
打卡信奥
刷题
(920)用C++信奥P1076[普及组/提高] [NOIP 2012 普及组] 寻宝
P1076[NOIP2012普及组]寻宝题目描述传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下:藏宝楼共有N+1N+1N+1层,最上面一层是顶层,顶层有一个房间里面藏着宝藏。除了顶层外,藏宝楼另有NNN层,每层MMM个房间,这MMM个房间围成一圈并按逆时针方向依次编号为0,…,M−10,…,
Loge编程生活
·
2025-03-09 14:58
C++
c++
算法
开发语言
青少年编程
数据结构
P10948 升降梯上 灰
题解
Part0.前言没想到SPFA-SLF冲进了最优解第一版,比多数Dijkstra还快。评测记录(SPFA-SLF43ms)评测记录(Dijkstra44ms)Part1.题意简述有MMM个移动系数−Nusingnamespacestd;#defineintlonglong#definepiipair#definefifirst#definesesecondintn,m,s,c[30],dis[10
M_CI_
·
2025-03-09 13:55
算法
王阳明代数讲义
王阳明代数讲义王阳明代数讲义古代代数学的发展中世纪与文艺复兴时期的代数学近代代数学的发展现代代数学的发展第一章意气实体过程讲义第二章情感分析与和悦空间的定义第三章王阳明代数的基本概念与定理第四章王阳明代数在问
题解
决中的应用第五章王阳明代数与情感分析
花间流风
·
2025-03-09 10:02
明明德数域
王船山熵群与王阳明代数
算法
情感分析
矩阵
Android 11.0 Settings首页主菜单遥控器上下滑动看不到焦点背景问
题解
决
主菜单的时候发现,上下移动主菜单的时候,看不到焦点背景,而二级菜单的时候,就可以正常有焦点背景,所以发现肯定是布局获取不到焦点背景,接下来分析下相关问题2.Settings首页主菜单遥控器上下滑动看不到焦点背景问
题解
决的核心类
安卓兼职framework应用工程师
·
2025-03-09 09:51
android
11.0
Rom定制化高级进阶
android
settings
homepage
主界面加载布局
菜单加载
斐波那契数列问
题解
法总结--递归、动态规划、矩阵幂
一、递归方法时间复杂度。deffibonacci(n):ifn==1:return1elifn==2:return1elifn>2:returnfibonacci(n-1)+fibonacci(n-2)forninrange(1,100):print(n,':',fibonacci(n))二、动态规划递归实现方法时间复杂度,空间复杂度。fibonacci_cache={}deffibonacci(
Vicky_1155
·
2025-03-09 07:18
Written
Test
Python
算法
斐波那契数列
递归
动态规划
element--el-table添加合计后固定列x轴滚动条无法滚动问题
效果图改变固定列滚轮高度问
题解
决文章解决方案使用到的参数pointer-events属性用来控制一个元素能否响应鼠标操作,常用的关键字有auto和nonepointer-events:none;让一个元素忽略鼠标操作
冯浩(grow up)
·
2025-03-09 07:09
element
element-plus
vue.js
前端
javascript
LeetCode 热题 100_字符串解码(71_394_中等_C++)(栈)
LeetCode热题100_字符串解码(71_394)题目描述:输入输出样例:
题解
:解题思路:思路一(栈):代码实现代码实现(栈):以思路一为例进行调试题目描述:给定一个经过编码的字符串,返回它解码后的字符串
Dream it possible!
·
2025-03-09 07:08
LeetCode
热题
100
leetcode
c++
算法
代码随想录一刷总结
代码随想录–总结day62文章目录代码随想录--总结一、
刷题
时间线二、二刷计划三、总结一、
刷题
时间线2024.6.20开始2024.8.22一刷结束,总共60多天二、二刷计划2024.8.25开始-2024.9.25
zengy5
·
2025-03-09 06:34
代码随想录刷题流程
c++
算法
学习
leetcode
element ui 中 Cascader 级联选择器实现 动态加载 动态禁用 入门_cascader动态加载(2)
简单列一下我自己遇到的一些题HTML+CSSJavaScript前端框架前端性能优化前端监控模块化+项目构建代码管理信息安全网络协议浏览器算法与数据结构团队管理开源分享:【大厂前端面试
题解
析+核心总结学习笔记
2401_84619606
·
2025-03-09 05:20
程序员
前端
面试
学习
leetcode
刷题
Day4|寻找两个正序数组的中位数
leetcode
刷题
Day4|寻找两个正序数组的中位数给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。
我要学土木
·
2025-03-09 02:51
leetcode刷题
leetcode
算法
数据结构
LLMs:LLMs大语言模型评估的简介(两标+六性+九维,大模型排行榜多种),两类基准—通用任务的基准(单任务【BLEU/ROUGE-MT-Bench/Chatbot Arena】、多任务【Super
大语言模型评估的简介(两标(NLUGR指标/REBT)+六性(理解性+生成性{PPL}+多样性+泛化性+能耗性+可解释性)+九维(2大能力域【理解/生成】+3性【丰富性/多样性/适应性】+4大子任务【逻辑推理/问
题解
决
一个处女座的程序猿
·
2025-03-08 19:54
NLP/LLMs
ML
资深文章(前沿/经验/创新)
自然语言处理
基础大模型
评估
华为OD机试:Excel单元格数值统计问
题解
决方案(C++、Java、JavaScript、Python)详解
华为OD机试:Excel单元格数值统计问
题解
决方案(C++、Java、JavaScript、Python)详解在华为OD机试中,Excel单元格数值统计问题是一个常见的算法考题,它模拟了Excel中对表格区域进行数值统计的功能
m0_57781768
·
2025-03-08 19:15
华为od
excel
c++
优必选嵌入式面试题及参考答案
FreeRTOS任务调度器的优先级反转问
题解
决方案。什么是优先级反转(PriorityInversion)?如何通过优先级继承解决?在实时系统中,如何平衡高优先级任务与低优先级任务的资源竞争?
大模型大数据攻城狮
·
2025-03-08 19:45
嵌入式面经
嵌入式面试
死锁
MQTT
CAN总线
机器人
机器狗
华为OD机试 - Excel单元格数值统计(Java 2024 E卷 200分)
华为OD机试2024E卷题库疯狂收录中,
刷题
点这里专栏导读本专栏收录于《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》。
哪 吒
·
2025-03-08 19:44
华为od
excel
java
打卡信奥
刷题
(913)用C++信奥P1016[普及组/提高] [NOIP 1999 提高组] 旅行家的预算
P1016[NOIP1999提高组]旅行家的预算题目描述一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1D_1D1、汽车油箱的容量CCC(以升为单位)、每升汽油能行驶的距离D2D_2D2、出发点每升汽油价格PPP和沿途油站数NNN(NNN可以为零),油站iii离出发点的距离DiD_iDi、每升汽油价格PiP_iPi(i=1,2,…,Ni=1
Loge编程生活
·
2025-03-08 17:00
C++
c++
开发语言
算法
青少年编程
数据结构
8D与FMEA的关联性及8D软件系统功能解析
8D与FMEA的定义与关系在质量管理领域,8D(8Disciplines)和FMEA(失效模式与效应分析)是两种重要的工具,分别用于问
题解
决和风险预防。
全星007
·
2025-03-08 16:55
科技
研发管理
汽车部件
汽车
制造
低代码
代码随想录---算法训练营---总结
这个是结营时期的
刷题
量,开营的时候不到一百道题。我总共参加了60天这个代码随想录的算法训练营,每天按照计划逐步进行算法训练,卡尔老师讲的很好,要是有不理解的,偶尔会给他提建议,提问题。
感谢上Di_123
·
2025-03-08 15:50
前端算法题
前端
javascript
LeetCode热题100JS(37/100)第七天|排序链表|合并K个升序链表|LRU缓存|二叉树的中序遍历|二叉树的最大深度|对称二叉树
148.排序链表题目链接:148.排序链表难度:中等
刷题
状态:1刷新知识:-`dic.reduceRight((t,c)=>(c.next=t,c),null)`方法从数组的末尾开始执行解题过程思考示例
Alicesflower
·
2025-03-08 14:59
LeetCode热题100JS
leetcode
算法
职场和发展
第七章、C语言指针全解(4)终章:混沌终焉!指针圣域的湮灭与重构!
时间线跳跃的暗码二、qsort:混沌数据的归一仪式qsort的降序排列:三、冒泡排序模拟qsort:自制维度规整引擎四、sizeofvsstrlen:虚空测量的双生诅咒sizeofstrlen五、数组/指针
题解
凤凰院凶涛QAQ
·
2025-03-08 14:59
c语言
重构
算法
蓝桥杯十六期模拟赛3
题解
【C++】
思路和代码仅供参考填空题一、质因数【问题描述】如果一个数p是个质数,同时又是整数a的约数,则p称为a的一个质因数。请问,2024的最大的质因数是多少?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。●答案23#includeusingnamespacestd;#defineIOSios::sync_with_
Amazing_snack
·
2025-03-08 09:02
数据结构与算法
蓝桥杯
c++
Java基础知识大全(含答案,面试基础)
因此,在面试和实际工作中,Java的基础知识不仅是评估开发者能力的标准,也是编程思维和问
题解
决能力的体现。
小钊(求职中)
·
2025-03-08 09:54
java
面试
开发语言
职场和发展
spring
jvm
spring
boot
2024年03月 Scratch 图形化(三级)真
题解
析#中国电子学会#全国青少年软件编程等级考试
Scratch图形化等级考试(1~4级)全部真题・点这里一、单选题(共18题,共50分)第1题运行程序后,角色一定不会说出的数字是?()A:2B:4C:6D:8答案:A程序中随机数的取值最小为2,最大为20,那么随机数加上2之后的结果的最小值为4,最大值为22。所以角色是可能说出4、6、8这三个数字的,但一定不会说出2。正确选项是A。第2题
码农StayUp
·
2025-03-08 08:38
青少年编程
scratch
图形化
电子学会
等级考试
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他