IntelliJ Idea 常用快捷键列表2

 

快捷键1

Ctrl+Shift + Enter,语句完成

“!”,否定完成,输入表达式时按 “!”键

Ctrl+E,最近的文件

Ctrl+Shift+E,最近更改的文件

Shift+Click,可以关闭文件

Ctrl+[ OR ],可以跑到大括号的开头与结尾

Ctrl+F12,可以显示当前文件的结构

Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择

Ctrl+N,可以快速打开类

Ctrl+Shift+N,可以快速打开文件

Alt+Q,可以看到当前方法的声明

Ctrl+P,可以显示参数信息

Ctrl+Shift+Insert,可以选择剪贴板内容并插入

Alt+Insert,可以生成构造器/Getter/Setter等

Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义

Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch

Ctrl+Enter,导入包,自动修正

Ctrl+Alt+L,格式化代码

Ctrl+Alt+I,将选中的代码进行自动缩进编排,这个功能在编辑 JSP 文件时也可以工作

Ctrl+Alt+O,优化导入的类和包

Ctrl+R,替换文本

Ctrl+F,查找文本

Ctrl+Shift+Space,自动补全代码

Ctrl+空格,代码提示(与系统输入法快捷键冲突)

Ctrl+Shift+Alt+N,查找类中的方法或变量

Alt+Shift+C,最近的更改

Alt+Shift+Up/Down,将鼠标所在行,上/下移一行

Shift+F6,重构 – 重命名

Ctrl+X,删除

Ctrl+D,复制行

Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)

Ctrl+J,自动代码(例如:serr)

Ctrl+Alt+J,用动态模板环绕

Ctrl+H,显示类结构图(类的继承层次)

Ctrl+Q,显示注释文档

Alt+F1,查找代码所在位置

Alt+1,快速打开或隐藏工程面板

Ctrl+Alt+left/right,返回至上次浏览的位置

Alt+left/right,切换代码视图

Alt+Up/Down,在方法间快速移动定位

Ctrl+Shift+Up/Down,向上/下移动语句

F2 或 Shift+F2,高亮错误或警告快速定位

Tab,代码标签输入完成后,按 Tab,生成代码

Ctrl+Shift+F7,高亮显示所有该文本,按 Esc 高亮消失

Alt+F3,逐个往下查找相同文本,并高亮显示

Ctrl+Up/Down,光标中转到第一行或最后一行下

Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)

Ctrl+Alt+B,跳转到方法实现处

Ctrl+Shift+Backspace,跳转到上次编辑的地方

Ctrl+O,重写方法

Ctrl+Alt+Space,类名自动完成

Ctrl+Alt+Up/Down,快速跳转搜索结果

Ctrl+Shift+J,整合两行

Alt+F8,计算变量值

Ctrl+Shift+V,可以将最近使用的剪贴板内容选择插入到文本

Ctrl+Alt+Shift+V,简单粘贴

Shift+Esc,不仅可以把焦点移到编辑器上,而且还可以隐藏当前(或最后活动的)工具窗口

F12,把焦点从编辑器移到最近使用的工具窗口

Shift+F1,要打开编辑器光标字符处使用的类或者方法 Java 文档的浏览器

Ctrl+W,可以选择单词继而语句继而行继而函数

Ctrl+Shift+W,取消选择光标所在词

Alt+F7,查找整个工程中使用地某一个类、方法或者变量的位置

Ctrl+I,实现方法

Ctrl+Shift+U,大小写转化

Ctrl+Y,删除当前行

 

 

Shift+Enter,向下插入新行

psvm/sout,main/System.out.println(); Ctrl+J,查看更多

Ctrl+Shift+F,全局查找

Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找

Ctrl+Shift+S,高级搜索

Ctrl+U,转到父类

Ctrl+Alt+S,打开设置对话框

Alt+Shift+Inert,开启/关闭列选择模式

Ctrl+Alt+Shift+S,打开当前项目/模块属性

Ctrl+G,定位行

Alt+Home,跳转到导航栏

Ctrl+Enter,上插一行,自动补充

Ctrl+Backspace,按单词删除

Ctrl+”+/-”,当前方法展开、折叠

Ctrl+Shift+”+/-”,全部展开、折叠

【调试部分、编译】

Ctrl+F2,停止

Alt+Shift+F9,选择 Debug

Alt+Shift+F10,选择 Run

Ctrl+Shift+F9,编译

Ctrl+Shift+F10,运行

Ctrl+Shift+F8,查看断点

F8,步过

F7,步入

Shift+F7,智能步入

Shift+F8,步出

Alt+Shift+F8,强制步过

Alt+Shift+F7,强制步入

Alt+F9,运行至光标处

Ctrl+Alt+F9,强制运行至光标处

F9,恢复程序

Alt+F10,定位到断点

Ctrl+F8,切换行断点

Ctrl+F9,生成项目

Alt+1,项目

Alt+2,收藏

Alt+6,TODO

Alt+7,结构

Ctrl+Shift+C,复制路径

Ctrl+Alt+Shift+C,复制引用,必须选择类名

Ctrl+Alt+Y,同步

Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)

Shift+F12,还原默认布局

Ctrl+Shift+F12,隐藏/恢复所有窗口

Ctrl+F4,关闭

Ctrl+Shift+F4,关闭活动选项卡

Ctrl+Tab,转到下一个拆分器

Ctrl+Shift+Tab,转到上一个拆分器

【重构】

Ctrl+Alt+Shift+T,弹出重构菜单

Shift+F6,重命名

F6,移动

F5,复制

Alt+Delete,安全删除

Ctrl+Alt+N,内联

【查找】

Ctrl+F,查找

Ctrl+R,替换

F3,查找下一个

Shift+F3,查找上一个

Ctrl+Shift+F,在路径中查找

Ctrl+Shift+R,在路径中替换

Ctrl+Shift+S,搜索结构

Ctrl+Shift+M,替换结构

Alt+F7,查找用法

Ctrl+Alt+F7,显示用法

Ctrl+F7,在文件中查找用法

Ctrl+Shift+F7,在文件中高亮显示用法

 

 

 

 

快捷键2

Ctrl + B 进入光标所在的方法/变量的接口或是定义处,等效于Ctrl + 左键单击

Ctrl + D 复制光标所在行或复制选择内容,并把复制内容插入光标位置下面

Ctrl + F 在当前文件进行文本查找

Ctrl + H 查看类的继承结构

Ctrl + N 通过类名定位文件

Ctrl + O 快速重写父类方法

Ctrl + P 方法参数提示

Ctrl + Y 删除光标所在行或删除选中的行

Ctrl + W 递进式选择代码块

Ctrl + Z 撤销

Ctrl + 1,2,3…9 定位到对应数值的书签位置 结合Ctrl + Shift + 1,2,3…9使用

Ctrl + F1 在光标所在的错误代码出显示错误信息

Ctrl + F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选

Ctrl + Space 基础代码补全默认在Windows系统上被输入法占用,需要进行修改,建议修改为Ctrl + 逗号

Ctrl + / 注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号

Alt相关

快捷键 介绍

Alt + Q 弹出一个提示,显示当前类的声明/上下文信息

Alt + Enter 根据光标所在问题,提供快速修复选择

Shift相关

快捷键 介绍

Shift + F3 在查找模式下,定位到上一个匹配处

Ctrl+Alt相关

快捷键 介绍

Ctrl + Alt + B 在某个调用的方法名上使用会跳到具体的实现处

Ctrl + Alt + L 格式化代码 可以对当前文件和整个包目录使用

Ctrl + Alt + M 快速抽取方法

Ctrl + Alt + O 优化导入的类和包 可以对当前文件和整个包目录使用

Ctrl + Alt + T 对选中的代码弹出环绕选项弹出层

Ctrl + Alt + V 快速引进变量

Ctrl + Alt + F7 寻找类或是变量被调用的地方,以弹出框的方式显示

Ctrl + Alt + 左方向键 退回到上一个操作的地方

Ctrl + Alt + 右方向键 前进到上一个操作的地方

Ctrl+Shift相关

快捷键 介绍

Ctrl + Shift + F 根据输入内容查找整个项目或指定目录内文件

Ctrl + Shift + H 查看方法的继承结构

Ctrl + Shift + J 自动将下一行合并到当前行末尾

Ctrl + Shift + N 通过文件名定位打开文件/目录,打开目录需要在输入的内容后面多加一个正斜杠

Ctrl + Shift + R 根据输入内容替换对应内容,范围为整个项目或指定目录内文件

Ctrl + Shift + U 对选中的代码进行大/小写轮流转换

Ctrl + Shift + W 递进式取消选择代码块

Ctrl + Shift + Z 取消撤销

Ctrl + Shift + / 代码块注释

Ctrl + Shift + + 展开所有代码

Ctrl + Shift + - 折叠所有代码

Ctrl + Shift + 1,2,3…9 快速添加指定数值的书签

Ctrl + Shift + F7 高亮显示所有该选中文本,按Esc高亮消失

Ctrl + Shift + Space 智能代码提示

Ctrl + Shift + Enter 自动结束代码,行末自动添加分号

### 解思路 此问的核心在于通过 **二维差分** 和 **前缀和** 的方法来高效计算被指定层数 $ K $ 涂漆覆盖的区域大小。以下是详细的分析: #### 1. 目背景 农夫约翰希望在他的谷仓上涂油漆,目标是找到最终被恰好 $ K $ 层油漆覆盖的总面积。给定若干矩形区域及其对应的涂漆操作,我们需要统计这些操作完成后满足条件的区域。 #### 2. 差分法的应用 为了快速更新多个连续单元格的状态并查询其总和,可以采用 **二维差分** 技术。具体来说: - 初始化一个二维数组 `diff` 来表示差分矩阵。 - 对于每一个矩形 $(x_1, y_1)$ 到 $(x_2, y_2)$,我们可以通过如下方式更新差分矩阵: ```python diff[x1][y1] += 1 diff[x1][y2 + 1] -= 1 diff[x2 + 1][y1] -= 1 diff[x2 + 1][y2 + 1] += 1 ``` 上述操作的时间复杂度仅为常数级别 $ O(1) $,因此非常适合大规模数据集的操作[^1]。 #### 3. 前缀和恢复原矩阵 完成所有矩形的差分更新后,利用前缀和算法还原实际的涂漆次数矩阵 `paints`。对于每个位置 $(i,j)$,执行以下操作: ```python for i in range(1, n + 1): for j in range(1, m + 1): paints[i][j] = (paints[i - 1][j] + paints[i][j - 1] - paints[i - 1][j - 1] + diff[i][j]) ``` 这里需要注意边界条件以及初始值设置为零的情况[^4]。 #### 4. 统计符合条件的区域 最后遍历整个 `paints` 数组,累加那些等于 $ K $ 的元素数量即可得到答案。 --- ### 实现代码 下面是基于以上理论的一个 Python 实现版本: ```python def painting_the_barn(): import sys input_data = sys.stdin.read().splitlines() N, K = map(int, input_data[0].split()) max_x, max_y = 0, 0 rectangles = [] for line in input_data[1:]: x1, y1, x2, y2 = map(int, line.split()) rectangles.append((x1, y1, x2, y2)) max_x = max(max_x, x2) max_y = max(max_y, y2) # Initialize difference array with extra padding to avoid boundary checks. size = max(max_x, max_y) + 2 diff = [[0]*size for _ in range(size)] # Apply all rectangle updates using the difference method. for rect in rectangles: x1, y1, x2, y2 = rect diff[x1][y1] += 1 diff[x1][y2 + 1] -= 1 diff[x2 + 1][y1] -= 1 diff[x2 + 1][y2 + 1] += 1 # Compute prefix sums from differences to get actual paint counts. paints = [[0]*size for _ in range(size)] result = 0 for i in range(1, size): for j in range(1, size): paints[i][j] = ( diff[i][j] + paints[i - 1][j] + paints[i][j - 1] - paints[i - 1][j - 1] ) if paints[i][j] == K: result += 1 return result print(painting_the_barn()) # Output final answer as per sample output format. ``` --- ### 结果验证 按照样例输入测试该程序能够正确返回预期的结果即8单位面积被两层涂料所覆盖[^2]。 --- ### 性能优化建议 如果进一步追求效率还可以考虑压缩坐标范围减少内存消耗或者使用更底层的语言实现核心逻辑部分比如 C++ 或 Java 等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值