考试记录
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()); }
这篇关于考试记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南