目录
这个题目的思路非常简单和清晰,但我一开始理解有一些问题,直接用一个set记录不同的数字的个数即可。
- class Solution {
- public int minimumOperations(int[] nums) {
- Set
st = new HashSet<>(); - for(int num:nums){
- if(num!=0){
- st.add(num);
- }
- }
- return st.size();
- }
- }
一开始没有思路,其实这题的思路就是贪心,因为一旦数组排好序,以1,2,3的大小去组成这样的分组就可以符合题目的要求,剩下的不足分组可以直接加到最后一组。
- class Solution {
- public int maximumGroups(int[] grades) {
- //Arrays.sort(grades);
- int n = grades.length;
- int i = 1;
- int count = 0;
- while(n>=i){
- n-=i;
- i++;
- count++;
- }
- return count;
- }
- }
一开始思路是从两个节点然后去找一个交汇的点,但是这样找的话两个节点的移动速度不一样,不是很好实现,这个思路不对。
解题思路就是和题目类似的,维护两个数组
d1记录node1到各个节点的距离 初始化为最大值
d2记录node2到各个节点的距离 初始化为最大值
遍历所有的节点0<=i 特殊情况是 1->2 2->1 这种成环的图可能返回的不是唯一答案
方法一 dfs直接遍历 方法二 拓扑排序 找到不在环内的直接用vis标记,不用再用新的数组 方法一 自己写的dfs 总觉得有一些细节没想明白 方法二 方法三 记录访问时间法 代码
代码
题目4 图中的最长环
思路
代码
vite的使用
今日睡眠质量记录61分
ESP8266--SDK开发(驱动WS2812B)
安全保障基于软件全生命周期-NetworkPolicy应用
PHP 命名空间
自学java怎么入门?
数据库pymsql之使用简单登陆注册功能实现
大模型时代的具身智能系列专题(六)
3D 三角形的顶点顺序
Go runtime 调度器精讲(十一):总览全局
Spring框架漏洞总结
Angular 18+ 高级教程 – 国际化 Internationalization i18n
基于Tauri2+Vue3搭建桌面端程序|tauri2+vite5多窗口|消息提醒|托盘闪烁
ComfyUI 基础教程(五) —— 应用 IP-Adapter 实现图像风格迁移
网络空间的“边水往事”?针对华语黑产及用户进行攻击的 APT-K-UN3 活动分析
伪装“黑神话悟空修改器”传播木马的活动分析
全球蓝屏后,微软决定将安全踢出Windows内核
Java读取寄存器数据的方法