GithubHelp home page GithubHelp logo

leetcode's Introduction

# title difficult tag language
41 缺失的第一个正数 困难 Array Java
80 删除排序数组中的重复项 中等 Array Java
229 求众数 Ⅱ 中等 Array Cpp
275 H-Index II 中等 Array Cpp
220 存在重复元素 III 中等 Array Cpp
55 跳跃游戏 中等 Array && Greedy Cpp
45 跳跃游戏Ⅱ 困难 Array && Greedy Cpp
121 买卖股票的最佳时机 简单 Array && Dp Cpp
122 买卖股票的最佳时机 Ⅱ 简单 Array && Greedy Cpp
123 买卖股票的最佳时机 III 困难 Array && Dp Cpp
188 买卖股票的最佳时机 Ⅳ 困难 Array && Dp Cpp
309 最佳买卖股票时机含冷冻期 中等 Array && Dp Cpp
42 接雨水 困难 Array && Stack Cpp
334 递增的三元子序列 中等 Array Cpp
128 最长连续序列 困难 Array Cpp
164 最大间隔 困难 Array && Bucket Cpp
287 寻找重复数 中等 Binary Search && fast-slow pointer Cpp
135 分糖果 困难 Greedy Cpp
330 按要求补齐数组 困难 Array && Greedy Cpp
4 寻找两个有序数组的中位数 困难 Array && Binary Search Cpp
321 拼接最大数 困难 Array && Divide and Conquer Cpp
289 生命游戏 中等 Array Cpp
53 最大子序和 简单 Dp or Divide and Conquer Cpp
325 最大子数组之和为k 中等 Array Cpp
209 长度最小的子数组 中等 Two pointer or Binary Search Cpp
57 插入区间 困难 Array Cpp
327 区间和的个数 困难 Array && Divide and Conquer Cpp
56 合并区间 中等 Array Cpp
252 会议室 简单 Array Cpp
253 会议室Ⅱ 中等 Array Cpp
352 将数据流变为多个不相交区间 困难 Array Cpp
239 滑动窗口最大值 困难 Array && Deque Cpp
295 数据流的中位数 困难 Array && Heap Cpp
703 数据流中的第K大元素 简单 Array && Heap Cpp
238 除自身以外数组的乘积 中等 Array Cpp
152 乘积最大子序列 中等 Array && Dp Cpp
228 区间汇总 中等 Array Cpp
163 丢失的区间 中等 Array Cpp
88 合并两个有序数组 简单 Array Cpp
75 颜色分类(三色旗问题) 中等 Array && Two pointer Cpp
283 移动零 简单 Array Cpp
376 摆动序列 中等 Greedy && Dp Cpp
280 摆动排序Ⅰ 中等 Array Cpp
324 摆动排序Ⅱ 中等 Array && QuickSort Cpp
215 数组中第K大元素 中等 Array && QuickSort Cpp
28 实现strStr() 简单 String && Kmp Cpp
14 最长公共前缀 简单 String Cpp
58 最后一个单词的长度 简单 String Cpp
387 字符串中的第一个唯一字符 简单 String Cpp
151 翻转字符串里的单词 中等 String Cpp
205 同构字符串 简单 String Cpp
294 反转游戏Ⅱ 简单 String && DFS Cpp
49 字母异位词分组 中等 Hashmap Cpp
87 扰乱字符串 困难 DFS && Backtracking Cpp
179 最大数 中等 String && Sort Cpp
6 Z字型变换 中等 String Cpp
38 报数 简单 String Cpp
161 一次编辑距离 中等 String Cpp
316 去掉重复字符 困难 Stack && Greedy Cpp
168,171 Excel表列名称 简单 String Cpp
13 罗马数字转换成整数 简单 String && Math Python3
12 整数转换成罗马数字 中等 String && Math Python3
273 整数转换英文表示 困难 String && Math Python3
246 镜像数字 简单 String Cpp
32 最长有效括号 困难 String Cpp
65 有效数字 困难 String Cpp
68 文本左右对齐 困难 String Cpp
76 最小覆盖子串 困难 String && Sliding window Cpp
336 回文对 困难 String && Hash Cpp
214 最短回文串 困难 String Cpp
395 至少有K个重复字符的最长子串 中等 String && Divide and Conquer Cpp
30 串联所有单词的子串 中等 String && Sliding window Cpp
131 分割回文串 中等 String && Backtracking Cpp
132 分割回文串Ⅱ 困难 String && Dp Cpp
267 回文排列II 中等 String && Backtracking Cpp
241 为运算表达式设计优先级 中等 String && Divide and Conquer Cpp
301 删除无效的括号 困难 String && (DFS or BFS) Cpp
115 不同的子序列 困难 String && Dp Cpp
187 重复的DNA序列 中等 String && Bit Manipulation Cpp
258 各位相加 简单 String && Math Cpp
29 两数相除 简单 String && Binary Search Cpp
204 计算素数个数 简单 String && Math Cpp
365 水壶问题 简单 String && Math Cpp
15 3Sum 中等 Binary Serach && Two Pointer Cpp
372 Super Pow 中等 Math Java
454 4Sum II 中等 HashMap Java
698 划分为k个相等子集 中等 Recursion Java
329 矩阵中的最长递增路径 困难 Dp && Matrix Java
264 丑数II 中等 Dp && Heap Java
718 最长重复子数组 中等 Dp Java
673 最长递增子序列个数 中等 Dp Java
319 灯泡开关 中等 Dp Java
363 矩形区域不超过k的最大数值和 困难 Dp && Matrix Java
202 快乐数 简单 Math Java
172 阶乘后的0 简单 Math Cpp
343 整数拆分 中等 Math && Dp Cpp
396 旋转函数 中等 Math Cpp
390 消除游戏 中等 Math Cpp
357 计算各个位数不同的数字个数 中等 Math Cpp
90 子集II 中等 Backtracing Cpp
377 组合总和IV 中等 Dp Cpp
31 下一个排列 中等 Array Java
60 第k个全排列 中等 Backtracing Java
93 复原ip地址 中等 Backtracing Cpp
282 给表达式添加运算符 困难 Backtracing Cpp
351 Android解锁模式 中等 Backtracing Cpp
140 单词拆分II 困难 Backtracing Cpp
279 完全平方数 中等 Dp Cpp
375 猜数字大小II 中等 Dp Cpp
312 戳气球 困难 Dp Cpp
365 房屋染色II 困难 Dp Cpp
72 编辑距离 困难 Dp && String Cpp
97 交错字符串 困难 Dp && String Cpp
73 矩阵置零 中等 Matrix Cpp
378 有序矩阵中第k小的元素 中等 Matrix && Binary Search Cpp
240 搜索二维矩阵II 中等 Matrix && Binary Search Cpp
174 地下城游戏 困难 Matrix && Dp Cpp
542 01矩阵 中等 BFS Cpp
317 建筑物之间的最短距离 困难 BFS Cpp
221 最大正方形 中等 DP && Matrix Cpp
85 最大矩形 困难 DP && Matrix Cpp
84 柱状图中的最大的矩形 困难 Stack Cpp
198 打家劫舍 简单 Dp Cpp
213 打家劫舍II 中等 Dp Cpp
276 栅栏涂色 简单 Dp Cpp
91 解码方法 中等 Dp Cpp
10 正则表达式匹配 困难 Dp Cpp
370 区间加法 中等 Array Cpp
296 最佳的碰头地点 困难 Array && Sort Cpp
1140 石子游戏II 中等 Dp && Game theory Cpp
44 通配符匹配II 困难 String && Dp Cpp
361 轰炸敌人 中等 Matrix && Dp Cpp
36 有效的数独 中等 Matrix Cpp
37 解数独 困难 Matrix Cpp
95 不同的二叉搜索树II 中等 Dp Cpp
386 字典序排数 中等 String Cpp
302 包含全部黑色像素的最小矩形 困难 Matrix && Binary Search Cpp
493 翻转对 困难 Divide and Conquer && MergeSort Cpp
1124 表现良好的最长时间段 中等 Stack && Greedy Cpp
560 和为K的子数组 中等 Divide and Conquer or Hashmap Cpp
315 计算右侧小于当前元素的个数 困难 Divide and Conquer or BIT Cpp
388 文件的最长绝对路径 中等 Stack && String Cpp
1129 颜色交替的最短路径 中等 Graph Cpp
1131 绝对值表达式的最大值 中等 Math Cpp
307 区域和检索 - 数组可修改 中等 BIT Cpp
1105 填充书架 中等 Dp Cpp
1106 解析布尔表达式 困难 Stack && String Cpp
354 俄罗斯套娃信封问题 困难 Dp Cpp
368 最大整除子集 中等 Dp Cpp
403 青蛙过河 困难 Dp or ( Binary Search && Memorization ) Cpp
410 分割数组的最大值 困难 Dp or ( Binary Search && Greedy ) Cpp
255 验证前序遍历序列二叉搜索树 中等 Tree && Stack Cpp
254 因子的组合 中等 Dp Cpp
446 等差数列划分 II - 子序列 困难 Dp Cpp
1121 将数组分成几个递增序列 困难 Math Cpp
1155 掷骰子的N种方法 中等 Dp Cpp
1156 单字符重复子串的最大长度 中等 Dp Cpp
1151 最少交换次数来组合所有的1 中等 Array && Sliding window Cpp
1153 字符串转换 中等 HashMap Cpp
464 我能赢吗 中等 Dp && Game theory Cpp
486 预测赢家 中等 Dp && Game theory && Max_Min Cpp
741 摘樱桃 困难 Dp && Dfs Cpp
314 二叉树的垂直遍历 中等 Tree && Bfs Cpp
1062 最长重复子串 中等 Dp Cpp
1092 最短公共超序列 困难 Dp && LCS ex Cpp
907 子数组的最小值之和 中等 Stack Cpp
1053 交换一次的先前排列 中等 Stack Cpp
494 目标和 中等 Dp && Dfs Cpp
1073 负二进制数相加 中等 Math Cpp
363 矩形区域不超过k的最大数值和 困难 TreeSet && Matrix Cpp
1074 元素和为目标值的子矩阵数量 困难 TreeSet && Matrix Cpp
466 统计重复个数 困难 Dp Cpp
236 二叉树的最近公共祖先 中等 Tree Cpp
109 有序链表构造二叉搜索树 中等 Tree Cpp
1054 距离相等的条形码 中等 Array Cpp
467 环绕字符串中唯一的子字符串 中等 Dp Cpp
1049 最后一块石头的重量II 中等 Dp Cpp
699 掉落的方块 困难 Segment Tree Cpp
218 天际线问题 困难 Segment Tree Cpp
850 矩形面积II 困难 Segment Tree && Swaping line Cpp
285 二叉搜索树中的顺序后继 中等 BST && Binary Search Cpp
318 最大单词长度乘积 中等 Bit Manipulation Cpp
1039 多边形三角剖分的最低得分 中等 Range Dp Cpp
638 大礼包 中等 DFS Cpp
576 出界的路径数 中等 Dp Cpp
523 连续的子数组和 中等 HashMap or Dp Cpp
769 最多能完成排序的块 困难 Array Cpp
137 只出现一次的数字II 中等 Bit Manipulation Cpp
517 超级洗衣机 困难 Dp && Math Cpp
358 K 距离间隔重排字符串 困难 Heap && Hashmap && Greedy Cpp
646 最长数对链 中等 Dp or Greedy Cpp
1036 逃离大迷宫 困难 BFS Cpp
1029 两地调度 简单 Greedy Cpp
5074 水资源分配优化 困难 Graph Cpp
5164 从链表中删去总和值为零的连续节点 中等 Hashmap && Linklist Cpp
5165 餐盘栈 困难 Design && Heap Cpp
5167 查询无效交易 简单 Simulate Cpp
785 判断二分图 中等 Graph Cpp
685 冗余连接II 困难 Graph && Union Set Cpp
322 重新安排行程 中等 Graph && DFS Cpp
1102 得分最高的路径 中等 Graph && Heap && Binary Seach Cpp
269 火星词典 困难 Graph && Topsort Cpp
444 序列重建 中等 Graph && Topsort Cpp
208 实现 Trie (前缀树) 中等 Tri Tree Cpp
211 添加与搜索单词 - 数据结构设计 中等 Tri Tree Cpp
212 单词搜索 II 困难 Tri Tree && DFS Cpp
621 任务调度器 中等 Greedy && Math Cpp
61 旋转链表 中等 Linklist Cpp
89 格雷编码 中等 Bit Manipulation Cpp
81 搜索旋转排序数组 II 中等 Binary Search Cpp
34 在排序数组中查找元素的第一个和最后一个位置 中等 Binary Search Cpp
126 单词接龙II 困难 BFS && DFS Cpp
5176 猜字谜 困难 Bit Manipulation && Hashmap Cpp
232 用栈实现队列 简单 Stack Cpp
142 环形链表II 中等 LinkList Cpp
5183 一周的第几天 简单 Math Cpp
162 寻找峰值 中等 Binary Search Cpp
138 复制带随机指针的链表 中等 有丝分裂法 or Hashmap Cpp
166 分数到小数 中等 Math && Hashmap Cpp
190 颠倒二进制位 简单 Bit Manipulation Cpp
201 数字范围按位与 中等 Bit Manipulation Cpp
740 删除与获得点数 中等 Dp Cpp
223 矩形面积 中等 Math && IOU Python3
224 基本计算器 困难 Math && Stack Cpp
227 基本计算器II 中等 Math && Stack Cpp
772 基本计算器III 困难 String && Stack Cpp
237 删除链表中的节点 简单 Linklist Cpp
243 最短单词距离 简单 Array Cpp
244 最短单词距离II 中等 Hashmap Cpp
245 最短单词距离III 中等 Array Cpp
249 移位字符串分组 中等 Hashmap Cpp
260 只出现一次的数字 III 中等 Bit Manipulation Cpp
149 直线上最多的点数 困难 Math && Hashmap Cpp
286 墙与门 中等 BFS Cpp
310 最小高度树 中等 Graph && TopSort Cpp
333 最大BST子树 中等 Tree Cpp
305 岛屿数量II 困难 Union Set Cpp
272 最接近的二叉搜索数值II 困难 Tree && Stack Cpp
510 二叉搜索树中的中序后继II 中等 Tree Cpp
5091 建造街区的最短时间 困难 Greedy Cpp
373 查找和最小的K对数字 中等 Heap Cpp
402 移掉K位数字 中等 Heap Cpp
311 稀疏矩阵的乘法 中等 Matrix Cpp
331 验证二叉树的前序序列化 中等 Tree Cpp
499 迷宫III 困难 BFS Cpp
647 回文子串 中等 Dp && String Cpp
974 可被K整除的子数组 中等 Hashmap && Math Cpp
651 4键键盘 中等 Dp Cpp
688 “马”在棋盘上的概率 中等 Dp Cpp
406 根据身高重建队列 中等 Greedy Cpp
LCP 4 覆盖 困难 Graph Cpp
LCP 5 发LeetCoin 困难 Tree Cpp
341 扁平化嵌套列表迭代器 中等 Stack Cpp
313 超级丑数 中等 Heap && Math && Dp Cpp
437 路径总和III 简单 Hashmap && Tree Cpp
448 找到所有数组中消失的数字 简单 Array Cpp
5216 统计元音字母序列的数目 困难 Dp Python3
5081 步进数 中等 DFS Cpp
5099 验证回文字符串III 困难 Dp Cpp
417 太平洋大西洋水流问题 中等 BFS Cpp
371 两整数之和 简单 Bit Manipulation Cpp
393 UTF-8编码验证 中等 Bit Manipulation Cpp
903 DI序列的有效排列 困难 Dp Cpp
548 将数组分割成和相等的子数组 中等 Array Cpp
442 数组中重复的数据 中等 Array Cpp
763 划分字母区间 中等 Greedy && Sweeping line Cpp
869 重新排序得到 2 的幂 中等 Math Cpp
5223 可以攻击国王的皇后 中等 Array Cpp
5224 掷骰子模拟 中等 Dp Cpp
5225 最大相等频率 困难 Hashmap && 分类讨论 Cpp
1014 最佳观光组合 中等 Array && Math Cpp
397 整数替换 中等 Bit Manipulation Cpp
1201 丑数III 中等 Math && Binary Search && 容斥原理 Cpp
391 完美矩形 困难 Sweeping line && Set Cpp
743 网络延迟时间 中等 Graph && 最短路径 Cpp
364 加权嵌套序列和II 中等 Recursion Cpp
625 最小因式分解 中等 Recursion Cpp
5111 分享巧克力 困难 Binary Search && Greedy Cpp
1021 删除最外层括号 简单 String && 括号 Cpp
678 有效的括号字符串 中等 String && Stack or Dp Cpp
468 验证ip地址 中等 String && Split Cpp
1234 替换子串得到平衡字符串 中等 Sliding Window Cpp
1235 规划兼职工作 困难 Dp && Sort && Binary Search Cpp
527 单词缩写 困难 String && Sort Java
593 有效的正方形 中等 Math Java
986 区间列表的交集 中等 Interval && Sort && Two Pointers Cpp
453 最小移动次数使数组元素相等 简单 Math Cpp
462 最小移动次数使数组元素相等II 中等 Math Cpp
976 三角形的最大周长 简单 Math Cpp
423 从英文中重建数字 中等 Math Cpp
483 最小好进制 困难 Math && Binary Search Cpp
1245 树的直径 中等 Tree && BFS && DFS Cpp
1246 删除回文子数组 困难 Interval Dp Cpp
1247 交换字符使得字符串相同 简单 Greedy && String Cpp
1248 统计「优美子数组」 中等 Sliding Window or Hashmap Cpp
1250 检查「好数组」 困难 Math && 基础数论 Cpp
805 数组的均值分割 困难 Math && DFS Cpp
932 漂亮数组 中等 Divide and Conquer && Math Cpp
775 全局倒置与局部倒置 中等 Array && Math Cpp
861 翻转矩阵后的得分 中等 Greedy Cpp
662 二叉树最大宽度 中等 Tree && BFS && DFS Cpp
452 用最少数量的箭引爆气球 中等 Greedy Cpp
488 祖玛游戏 困难 DFS Cpp
546 移除盒子 困难 DFS && Memo Cpp
1255 得分最高的单词集合 困难 Bit Manipulation && Enum Cpp
711 不同岛屿数量II 困难 HashMap && Math Cpp
973 最接近原点的 K 个点 中等 Divide or Sort or Heap Cpp
663 均匀树划分 中等 Tree && PostOrder Cpp
898 子数组按位或操作 中等 Bit Manipulation && Dp Cpp
1027 最长等差数列 中等 Dp Cpp
873 最长的斐波那契子序列的长度 中等 Dp Cpp
1263 推箱子 困难 BFS Java
146 LRU缓存机制 中等 Design && Linklist && HashMap Java
808 分汤 中等 Dp Java
1024 视频拼接 中等 Sort && Greedy && Dp Java
1003 检查替换后的词是否有效 中等 Stack Java
713 乘积小于K的子数组 中等 Two Pointers && Array Java
962 最大宽度坡 中等 Binary Search && Stack Java
5273 搜索推荐系统 中等 String && Binary Search Cpp
845 数组中的最长山脉 中等 String && Binary Search Cpp
864 获取所有钥匙的最短路径 困难 BFS && Bit Manipulation Java
652 寻找重复的子树 中等 Tree && HashMap Java
471 编码最短长度的字符串 困难 String && Dp Cpp
501 二叉搜索树中的众数 简单 Tree Cpp
5113 删除区间 中等 Interval && 分类讨论 Cpp
5114 删除树节点 中等 DFS && Dp Cpp
5278 分割回文串III 困难 Dp Java
5136 矩形内船只的数目 困难 Binary Search Java
889 根据前序和后序遍历构造二叉树 中等 Tree && Divide and Conquer Cpp
5282 转化为全零矩阵的最少反转次数 困难 Bit Manipulation && BFS Cpp
834 树中距离之和 困难 Tree && DFS && Dp Java
679 24点游戏 困难 DFS Java
644 最大平均子段和 II 困难 Binary Search && 前缀和 Java
738 单调递增的数字 中等 Math && 找规律 Java
5286 网格中的最短路径 困难 BFS Cpp
664 奇怪的打印机 困难 Dp Cpp
1017 负二进制转换 中等 Math Cpp
1000 合并石头的最低成本 困难 Dp Cpp
837 新21点 中等 Dp Cpp
600 不含连续1的非负整数 困难 Dp Cpp
792 匹配子序列单词数 中等 Array Cpp
456 132模式 中等 Stack Cpp
675 为高尔夫比赛砍树 困难 Heap && BFS Cpp
979 在二叉树中分配硬币 中等 Tree Cpp
924 尽量减少恶意软件的传播 困难 DFS && Union Set Cpp
928 尽量减少恶意软件的传播II 困难 枚举 && BFS Cpp
818 赛车 困难 Dp or (BFS && 剪枝) Cpp
433 最小基因变化 中等 BFS && Bit Manipulation Cpp
447 回旋镖的数量 简单 HashMap && Math Cpp
1013 将数组分成和相等的三个部分 简单 Array Cpp
552 学生出勤记录II 困难 Dp Cpp
1320 二指输入的最小距离 困难 Dp Cpp
1316 不同循环子字符串 困难 滚动哈希 Cpp
642 设计搜索自动补全系统 困难 Trie Tree Cpp
472 连接词 困难 Trie Tree Cpp
745 前缀和后缀搜索 困难 Trie Tree Cpp
915 分割数组 中等 Array Cpp
795 区间子数组个数 中等 Array Cpp
362 敲击计数器 中等 Design && BIT板子 Cpp
723 粉碎糖果 中等 Simulate && Two Pointer Cpp
1335 工作计划的最低难度 困难 Dp Cpp
835 图像重叠 中等 Hashmap && Array Cpp
1326 灌溉花园的最少水龙头数目 困难 Greedy or Dp Cpp
774 最小化去加油站的最大距离 困难 Binary Search Cpp
1334 阈值距离内邻居最少的城市 中等 Graph && Floyd Cpp
742 二叉树最近的叶结点 中等 Tree && BFS Cpp
939 最小面积矩形 中等 Matrix && Sweeping line Cpp
722 删除注释 中等 String && 状态机 Cpp
689 三个无重叠子数组的最大和 困难 Dp Cpp
730 统计不同回文子字符串 困难 Dp Cpp
384 打乱数组 中等 Random Cpp
470 用Rand7()实现Rand10() 中等 Random && Rejection Sampling Cpp
528 按权重随机选择 中等 Random && Binary Search Cpp
910 最小差值II 中等 Greedy && Math Cpp
930 和相同的二元子数组 中等 HashMap && Sliding Window Cpp
5314 跳跃游戏IV 困难 BFS Cpp
5335 参加考试的最大学生数 困难 Dp && 状态压缩 Cpp
1203 项目管理 困难 TopSort && Graph Cpp
5342 最多可以参加的会议数目 中等 Greedy && Heap Cpp
5343 多次求和构造目标数组 困难 逆推 && Heap Cpp
5172 形成三的最大倍数 困难 Math Cpp
1371 每个元音包含偶数次的最长子字符串 中等 Bit Manipulation && HashMap Cpp
搜狐畅游2020笔试 棋盘 🌟🌟🌟🌟 选址问题 Cpp
1388 3n块披萨 困难 Dp Cpp
1392 最长快乐前缀 困难 字符串滚动哈希板子 Cpp
5391 生成数组 困难 Dp Cpp
面试题 05.02 二进制数转字符串 中等 String Cpp
871 最低加油次数 困难 Dp or Heap Cpp

leetcode's People

Contributors

solthx avatar

Stargazers

 avatar GrandMasterBugMaker avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.