碎知识

3 篇文章 0 订阅
2 篇文章 0 订阅
  1. 巧用数组坐标
  2. 双指针
  3. 位运算,异或
  4. 取余
  5. 设置哨兵
  6. swap用加法或者异或的方法
  7. 空位置赋值或者查看用 cur==null? null:cur;
  8. StringBuffer的length是根据当前字符串的长度来确定,并非预先设置空间。
  9. 题目描述
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
    斗牛场思想,过半人数,最后肯定那一个人是活着并且他们人数过半就是他了
  10. 做加法和字符串与数组之间转换的时候要注意溢出问题。
链接:https://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a92163?answerType=1&f=discussion
来源:牛客网

class Solution {
public:
    int MoreThanHalfNum(vector<int> numbers) {
        int n = 0;
        int win;

        for(size_t i=0;i<numbers.size();i++){
            if(n == 0){
                win = numbers[i];
                n = 1;
            }else{
                if(win == numbers[i]){
                    n ++;
                }else{
                    n--;
                }
            }
        }
        return win;
    }
};
  1. 有效数值字符串的要求:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。
    1)e只能存在一次,且e不能在最后;
    2)+,-只能有两种情况,在开头或者在挨着e之后;
    3)小数点只能有一个,且只能在e之前;(记得用elseif)
  2. 链表注意断表,操作引用注意是否会影响对象(若影响可以拷贝);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值