文档章节

基础常用算法

昏鸦
 昏鸦
发布于 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;
}

© 著作权归作者所有

共有 人打赏支持
昏鸦
粉丝 7
博文 184
码字总数 59972
作品 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
全国青少年信息学奥林匹克分区联赛(NOIP)竞赛大纲

(#表示普及组不涉及) 一、初赛内容与要求 (一)计算机的基本常识 诞生与发展 特点 在现代社会中的应用 计算机系统的基本组成 计算机的工作原理# 计算机中的数的表示 计算机信息安全基础知...

海天一树X
2018/11/06
0
0
[MachineLearing]6步进入机器学习领域(译)

step 1:搞定python基础 google两天python实训课程(视频) https://www.youtube.com/watch... step 2:机器学习基础 课程1(Tom Mitchell Machine Learning Lectures):http://www.cs.cmu.e......

米油
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
3
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
4
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
1
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
2
0
java8的时间和`Date`的对比

java8的时间和Date的对比 java8提供了新的时间接口。相对Date,Calendar,个人感觉最大的好处是对时间操作的学习成本很低,比Calendar低。 1. LocalDate,LocalTime,LocalDateTime LocalDate 代...

北风刮的不认真了
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部