zoukankan      html  css  js  c++  java
  • 算法题思路

    链表反转

    思路

    1. 双链表头插法
    2. 利用栈

    查找数组不重复的值

    思路

    1. 利用异或运算 相同数值为0 任何职异或0为他本身的特性

    计算质数

    思路
    首先依次判断2-n的各个数是否是质数

    1. 在暴力解法上优化,判断一个数是否是质数 只需要不能整除2到根号n之间的数就不是质数
    2. 2*n n大于1的数可以直接跳过肯定不是质数
      使用厄拉多塞筛法,质数的倍数肯定不是质数 在数组中依次质数的倍数排除 最后求出个数,为了节省空间可以使用bitarray

    同构字符串

    1. 依次取两个字符串的字符 k存在就比较v和字符是否相同不同则不是同构字符串 不存在以k/v的形式放入map中
    2. for (int i = 0; i < chars.length; i++) { if (arr[chars[i]] != arr2[chars1[i]]) { return false; } arr[chars[i]] = i+1; arr2[chars1[i]] = i+1; } return true;

    回文串

    1. 反转字符串然后比较
    2. 双指针比较
    3. 1221 先取出第一个数和最后一个数比较 在取出22来取第一个和最后一个比较
  • 相关阅读:
    HashMap put get 源码解析
    HashMap 源码
    配置spring boot请求的入参和出参json数据格式
    配置idea的注释模板
    基本数据类型
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
    Linux命令系列之
  • 原文地址:https://www.cnblogs.com/isnotnull/p/13852443.html
Copyright © 2011-2022 走看看