随笔分类 - 算法的一些总结
在看书或者听网课的过程中,总结的一些算法知识点
摘要:1. 辅助栈 很多时候,在做栈、链表等等题目中,需要使用到辅助栈。比如 剑指 Offer 30. 包含min函数的栈 中,我们需要使用一个辅助栈,只把当前的最小值放在栈顶。经常使用到的函数有:pop出栈,push入栈,peek返回栈顶元素,size返回栈里元素个数。 剑指 Offer 06. 从尾到
阅读全文
摘要:本文用于总结字符串相关题目的所用方法。 1. 哈希表 主要作用:统计字母出现个数。 当题目中出现与字母个数相关的题目时,我们可以选择哈希表。经常会用到 HashMap 中的 put与get函数,注意当key相同的时候,HashMap是可以更新value的。 有时对两个字符串进行比较时,我们可能会定义
阅读全文
摘要:求数组最大值的方法: public static int process(int[] arr,int L, int R){ //L为左边界,R为右边界 if(L==R){ //只有一个数,直接返回 return arr[L]; } int mid = L + ((R-L)>>1); //求中点 in
阅读全文
摘要:在一些题目中,需要用到异或。比如:在一个数组中,有出现偶数次的数,还有出现奇数次的数(简单点,就一个,如果多个还需要补码的知识),如果需要求出来奇数次出现的那个数,正确的解法就是声明一个数,让他循环异或数组里的数,最后的结果就是出现奇数次的数。 for(int i=0;i<arr.length;i+
阅读全文
摘要:1. 产生一个随机长度的数组,数组里都赋值成随机数。 public static int[] generateRandomArray(int maxSize,int maxValue){ int length = (int)((maxSize+1)*Math.random());//随机长度 int
阅读全文

浙公网安备 33010602011771号