LeetCode刷题(C++练习)

参考指南:代码随想录刷题指南

一想到大二上的4门专业课+残余数理基础课一起开的天崩开局就吓得决定赶紧丢掉C转投C++的怀抱,无奈被CTF拉去写了1个月Python,现在连基础语法都搞混了(哭,考虑到FDS崩盘,还是得努努力刷点数据结构和算法题的.

数组

二分查找

  1. 复健,本身极水,但没想到被位运算暗算了(注意运算优先级,>>优先级低于+)。
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;
        while (left <= right){
            int mid = left + ((right - left) >> 1);  // 需要加括号
            if (nums[mid] > target){
                right = mid - 1;
            }else if(nums [mid] < target){
                left = mid + 1;
            }else{
                return mid;
            }
        }
        return -1;
    }
};

35 34

链表

Hash表