zoukankan      html  css  js  c++  java
  • 厚积薄发

    位运算

    • n&(n-1) 消除 n 的二进制中 最后一个1
      • 例如,回文数(字符串) 分为奇回文和偶回文两类,通过异或运算得到结果n,判断回文数(字符串)的条件为 n==0||(n&n-1)==0

    字符与ASCII值相互转换

    普通字符与ASCII值的相互转换

    普通字符 -> Ascii值:
    	char c = 'a';
    	byte b =(byte)c;
    或  int i = c;
    
    Ascii值 -> 普通字符:
    int d = 97 ;
    char c = (char)d ;
    

    数字字符与数字的相互转换

    数字字符 -> 数字:
    char c='1';
    int i = c - '0';
    或 int i = Integer.parseInt(c+"");
    或 int i = Character.digit(c,10);
    
    数字 -> 数字字符:
    int i = 9;
    char c = (char)(i+'0');
    

    数组翻转

    /*
     *从下标t开始,数据都是逆序的,进行翻转 如4321->1234
     */
    private void reverse(char[] chars, int t) {
            if(chars==null||chars.length==0) return;
            int len=chars.length;
            for(int i=0;i<(len-t)/2;i++){
                int m=t+i;
                int n=len-1-i;
                if(m<n){
                    swap(chars, m, n);
                }
            }
        }
    }
    

    阵地攻守思想

    采用阵地攻守的思想:
    第一个数字作为第一个士兵,守阵地;count = 1;
    遇到相同元素,count++;
    遇到不相同元素,即为敌人,同归于尽,count--;当遇到count为0的情况,又以新的i值作为守阵地的士兵,继续下去,到最后还留在阵地上的士兵,有可能是主元素。
    再加一次循环,记录这个士兵的个数看是否大于数组一般即可。

    降升序

    集合
    降序
    Collections.sort(list,Collections.reverseOrder())//list:8 7 6 5 4 2 1
    逆序
    Collections.reverse(list)//list:4 1 8 6 2 7 5

    数组
    降序(一定要注意调用Collections.reverseOrder()需要是Integer[],而不是int[])
    Integer[] a={5 7 2 6 8 1 4}
    Arrays.sort(a,Collections.reverseOrder())//a: 8 7 6 5 4 2 1

    数组转成list

    Arrays.asList(数组);
    Listlist =new ArrayList(Arrays.asList(a));

    见解

    • 宽度深度并重。宽度可以开阔视野,增加考虑问题的全面性;而深度,则是抓住一个或若干个感兴趣的点深入学习,形成日后与他人竞争的优势。
  • 相关阅读:
    常用正则表达式
    The Skins Factory 界面设计欣赏
    The Regulator 轻松上手
    Visual C#的Web XML编程
    业务流程不是需求
    如使用ODBC连接informix
    AJAX在信息系统中的应用研究
    浅谈几个SQL的日志概念
    量产 朗科(Netac)朗盛系列闪存盘E108 8G 手记
    【转】告诉大家他们是怎么成为富翁的
  • 原文地址:https://www.cnblogs.com/yh-simon/p/12952012.html
Copyright © 2011-2022 走看看