文档章节

基础常用算法

昏鸦
 昏鸦
发布于 2017/04/07 11:14
字数 536
阅读 8
收藏 0

1:#### 判断是个整数是不是回文

#!/usr/bin/python
# coding=utf-8

def ishuiwen(num):
        if num <0 or num%10==0:
                ### 负数 或者末尾是0 的肯定不是回文
                return False
        i=0
        while i < num:
                i = i*10+num%10
                num = num/10
        return (num == i) or  (i/10 == num)

2:/**求一个字符串连续不重复的长度 acdd = 3, 1122345 = 4*/

/**求一个字符串连续不重复的长度 acdd = 3, 1122345 = 4*/
public static void findStringMaxNoSame(String st){

    Map<Character,Integer>  map = new HashMap<Character,Integer>();
    int j =0;
    int max =0;
    for(int i = 0; i < st.length(); i++){
        if(map.containsKey(st.charAt(i))){
           if(map.get(st.charAt(i)) > j){
               j = i;
            }
        }
        map.put(st.charAt(i),i);
        if(max < (i -j +1) ){
            max = i =j +1;
        }
    }
    System.out.println("max = [" + max+ "]  j  = "+j);
}

3. /**求一个子数组的最大的和**/

/**求一个子数组的最大的和**/
public static void  maxSubArrayList( int[] array){

    int max =0;
    int tmpMax =0;

    for(int i=0; i < array.length; i++){

        tmpMax += array[i];
        if(tmpMax <0){

            tmpMax=0;
            continue;
        }
        if(tmpMax > max){
            max =tmpMax;
        }
    }
    //全部为负数的时候
    if(max==0){
        max = array[0];
        for(int i=1; i < array.length; i++){

            if(max < array[i]){
                max = array[i];

            }
        }
    }

    System.out.println("array sub max = [" + max + "]");

}
4. 给定一个数字A,返回数组中和等于A的两个数子的index
public static void getAddIndexs(int[] array,int specalValue){

    //1<= specaVaue 放入map
    //减掉的数据是否在map中
    Map<Integer,Integer> map = new HashMap<Integer,Integer>();
    for(int i =0; i < array.length;i++){

        if((specalValue >= array[i]) && map.containsKey((specalValue-array[i]))){
            //有结果
            System.out.println(map.get((specalValue - array[i])) + " " + i);
        }
        map.put(array[i],i);
    }
}

5./*反转一个32位的整数,主要溢出*/

/*反转一个32位的整数,主要溢出*/
public static void reverse(int x) {

        // if x <0 处理; 处理类似: 1000
        String abs = String.valueOf(x);
        String intMax = String.valueOf(Integer.MAX_VALUE);
        StringBuffer sb =new StringBuffer();
        sb.append(abs);
        abs = sb.reverse().toString();
        if(intMax.compareTo(abs)<0){
            System.out.println("x reverse = [" + 0 + "]");
        }else{
            System.out.println("x reverse = [" + Integer.parseInt(abs) + "]");
        }
}

public static int reversev0(int x)
{
    int result = 0;

    while (x != 0)
    {
        int tail = x % 10;
        int newResult = result * 10 + tail;
        if ((newResult - tail) / 10 != result)//往回计算,利用溢出做比较
        { return 0; }
        result = newResult;
        x = x / 10;
    }

    return result;
}

© 著作权归作者所有

共有 人打赏支持
昏鸦
粉丝 6
博文 182
码字总数 59043
作品 0
程序员
【备忘】2017年最新整理python神经网络深度学习算法全套视频教程

2017年最新整理python神经网络深度学习算法全套视频教程 课程介绍: 此阶段主要介绍了Python语言为工具对每种算法进行结合实例讲解,并使用Python中相关的package来对实际问题进行数据预处理...

qq_38155396
2017/07/01
0
0
2017年底,公司招聘Android开发技术要求热点--数据来自各名企

天冷被迫穿上秋裤了,转眼来到2017年底,又快到一年一度的春季跳槽季了,大家有怎样的想法和准备呢? 突发奇想,秉着对市场招聘Android的行情进行一番简单调研,从拉钩网上截取了当前正在招聘...

翻滚吧李博
2017/12/05
0
0
零基础自学数据挖掘工程师必知的四大阶段 第三阶段是重点

  本文介绍的学习路线使用的是当下主流数据分析挖掘编程语言Python来掌握数据挖掘的实际工作能力与认识水平。按照 1)基础理论→2)编程能力→3)挖掘应用→4)大数据实践 的学习流程来设置...

蓝胖子讲大数据
2017/11/07
0
0
R语言数据挖掘实战系列(1)

R语言数据挖掘实战(1) 一、数据挖掘基础 数据挖掘:从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决...

PXZ6603
2017/05/28
0
0
scikit-learn 简介

1. sklearn 图谱 原版 汉化版 2. 简介 我们可以看到,机器学习分为四大块,分别是 classification (分类), clustering (聚类), regression (回归), dimensionality reduction (降维)。 给定...

thinkando
03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部