考试记录
2022/4/23 23:42:46
本文主要是介绍考试记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转换问题
Integer
的list
转为int[]
public int[] intersect(int[] nums1, int[] nums2) { List<Integer> list = new ArrayList<>(); // list.add(); return list; return list.stream().mapToInt(Integer::intValue).toArray(); }
处理巧妙问题
-
巧妙利用递归简化问题
class Solution { public int[] intersect(int[] nums1, int[] nums2) { if (nums1.length > nums2.length) { return intersect(nums2, nums1); } //处理nums1.length > nums2.length } }
-
考虑好边界问题
public static int findShortestSubArray(int[] nums) { if (nums.length == 1){ return 1; } return ans; }
Map集合
初始化Map集合
-
添加key出现的个数
Map<Integer,Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { map.put(nums[i], map.getOrDefault(nums[i], 0) + 1); }
Map集合通过value获取key
-
循环法
//唯一值 private <K, V> K getKeyByLoop(Map<K, V> map, V value) { for (Map.Entry<K, V> entry : map.entrySet()) { if (Objects.equals(entry.getValue(), value)) { return entry.getKey(); } } return null; } //多个值 private <K, V> Set<K> getKeysByLoop(Map<K, V> map, V value) { Set<K> set = Sets.newHashSet(); for (Map.Entry<K, V> entry : map.entrySet()) { if (Objects.equals(entry.getValue(), value)) { set.add(entry.getKey()); } } return set; }
-
Stream方法
private <K, V> Set<K> getKeysByStream(Map<K, V> map, V value) { return map.entrySet() .stream() .filter(kvEntry -> Objects.equals(kvEntry.getValue(), value)) .map(Map.Entry::getKey) .collect(Collectors.toSet()); }
这篇关于考试记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04百万架构师第六课:设计模式:策略模式及模板模式
- 2025-01-04百万架构师第七课:设计模式:装饰器模式及观察者模式
- 2025-01-04适用于企业管理的协作工具API推荐
- 2025-01-04挑战16:被限流的CPU
- 2025-01-03企业在选择工具时,如何评估其背后的技术团队
- 2025-01-03Angular中打造动态多彩标签组件的方法
- 2025-01-03Flask过时了吗?FastAPI才是未来?
- 2025-01-0311个每位开发者都应知道的免费实用网站
- 2025-01-03从REST到GraphQL:为什么以及我是如何完成转型的
- 2025-01-03掌握RAG:从单次问答到连续对话