美文网首页
一些小算法

一些小算法

作者: MiBoy | 来源:发表于2017-05-01 15:42 被阅读12次

1.求N的阶乘
a) 迭代算法

private static int jiecheng(int n) {
    if (n <= 0) return 0;
    int f1 = 1;
    int product = f1;
    // 5*4*3*2*1
    for (int i = 1; i < n + 1; i++) {
      product = product * f1;
      f1 = f1 + 1;
    }
    return product;
  }

b)递归算法

 public long diGui(int n){  
  if(n==1){  
   return 1;  
  }else{  
   return n*diGui(n-1);  
  }  
 } 

2、写一个方法,要求:输入一个字符串ABCDEFG,要求倒序输出GFEDCBA:

 public String formatString(String s){  
  
//用for倒序循环,取char类型的方法实现  
  for(int i=s.length()-1;i>=0;i--){  
   System.out.print(s.charAt(i));  
  }  
  return s;  
 } 

3.不使用临时变量交换两个数

static void funSwapTwo(int a, int b) {

    a = a ^ b;
    b = b ^ a;
    a = a ^ b;

    System.out.println(a + " " + b);
}

4.判断一个数是否为素数

static boolean funIsPrime(int m) {

    boolean flag = true;

    if (m == 1) {
        flag = false;
    } else {

        for (int i = 2; i <= Math.sqrt(m); i++) {
            if (m % i == 0) {
                flag = false;
                break;
            }
        }
    }

    return flag;
}

5.问题: 将一个整数转换成字符串,要求不能使用系统调用。
ps:如果是把字符串转换成数字的话要用到 char a='6',a-'0';
6.问题:反转字符串
开始时想到的反转算法非常简单,就是利用折半法,把前后对应位置的字符互换。但该算法没有考虑速度和空间的优化。
7.问题:字符串拷贝
8.问题:字符子串删除

9.问题:在一个字符串str中查找一个子串sub,不使用任何的系统调用。
10.问题:编写一个高效的函数,找到字符串中首个非重复字符。例如:total 中的 首个非重复字符是 o,teeter是 r。讨论算法的效率。

解答:此问题是字符串操作的经典问题,考察的主要是查找的效率和实现的思路。可以使用一般的思路,但最坏的时间复杂度是O(n^2),显然不是好的解法。
问题:查找两个字符串的公共子串。
ps 不是连续子串

相关文章

  • 一些小算法

    1.求N的阶乘a) 迭代算法 b)递归算法 2、写一个方法,要求:输入一个字符串ABCDEFG,要求倒序输出GFE...

  • RSA公钥私钥的简单实现

    RSA算法是种能同时用于加密和数字签名的算法,也是被研究得最广泛的公钥算法。而公钥私钥的加密解密也会使一些小伙伴疑...

  • 心算日期

    无意间看到这篇文章,算法系列之十七:日历生成算法-中国公历(格里历)(下) 受到一些启发,发现其实稍微掌握一些小技...

  • 粒子群python3实现

    粒子群优化算法(详细易懂_很多例子) 在实现的过程中由于对其算法理解不够遇到了一些小问题。于是又找到了上面这篇文章...

  • 数独杂想(一)

    最近想学学算法,无意中从书中看到对一些小游戏的分析和算法实现,其实也是蛮有意思的。 今天我们来讲一讲数独。 首先我...

  • 蚁群算法解TSP(3)-效果验证

    引言 蚁群算法差不多已经水落石出了,本章作为该系列的最后一章,再提一些小细节供大家参考。一方面是蚁群算法涉及的一些...

  • 一些小算法代码,看各位能否看懂

  • Python Package:OpenAI Gym通俗理解和简单

    OpenAI Gym 为了做实验,发现有文章用OpenAI gym去做些小游戏的控制,主要是为了研究RL的算法,逐...

  • 在iOS开发中遇到C语言时的小细节(不断更新)

    开发中遇到一些算法会用到c语言,在Xcode中与OC文件编译还是有些区别的,遇到一些小坑总结。 1、在Xcode中...

  • 深度学习的优化:理论和算法《Optimization for d

    5.训练神经网络的通用算法 前面讨论了一些神经网络的特定tricks, 这些小技巧需要结合最优化方法,如SGD。通...

网友评论

      本文标题:一些小算法

      本文链接:https://www.haomeiwen.com/subject/slaftxtx.html