剑指Offer 44 扑克牌顺子

题目描述

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何。为了方便起见,你可以认为大小王是0。

思路

关键点就是大小王能用在相差为1的地方,所以需要统计一下断点大小,再看看大小王是不是足够;

more >>

剑指Offer 42反转单词顺序 vs左旋转字符串

反转单词顺序

题目描述

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

思路

  1. 主要依靠的就是两次旋转,先对整体,这样整体都换了位置,那么此时单个单词的位置应该就没有问题了;然后将单个单词再进行反转即可;

    more >>

剑指Offer 41 和为s的两个数字vs和为s的连续正整数列

和为s的两个数字

题目描述

输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

思路

  1. 暴力法不说了
  2. 头尾指针挨个扫呗,具体的想法是这样的,一个指针放在最后最大的值哪里,一个指针放在最前面最小的值哪里;如果此时小的话,你肯定不能移动尾指针吧,你就移动头指针;(1,2,3) 找到和为5 开始是这样的(1,2,3),可是这个小啊,移动指针(1,23);基本就是这样,那如果大的话,就是移动尾指针了,向前移动

    more >>

Java 知识点 类,字符串

知识点哦

  • 实例变量和局部变量,名称什么的不重要,简单来说,一个是对象的,另一个是方法内部的;有两点需要注意,第一实例变量自动初始化,比如int初始化0,但是局部变量量不会进行初始化;还有就是局部变量是可以屏蔽实例变量的;
    1
    2
    3
    4
    5
    6
    static String b = "lalalla";
    static
    {
    System.out.println(b); //这里就是类变量
    String b="buyaoa"; //这里是局部变量 不会报错的
    }

代码可以清楚地看出,局部变量确实会屏蔽掉全局的(实例变量或者类变量),这也就是说为啥要写this的原因;

  • Java中不定参数调用
    这个原来确实没用过

    more >>