1281. 整数的各位积和之差
- 1281. 整数的各位积和之差\
- 思路:模拟,用取余获取每一位数
- 时间复杂度:O(n的位数) = O(logn),空间复杂度:O(1)
class Solution {
public:int subtractProductAndSum(int n) {int mul = 1, sum = 0;while(n){int temp = n % 10;mul *= temp;sum += temp;n /= 10;}return mul - sum;}
};
1822. 数组元素积的符号
- 1822. 数组元素积的符号
- 思路:遍历数组即可
- 时间复杂度:O(N),空间:O(1)
class Solution {
public:int arraySign(vector<int>& nums) {int ret = 1;for(auto i : nums){if(i == 0){return 0;}if(i < 0) ret *= -1;}return ret;}
};
896. 单调数列
- 896. 单调数列
- 思路:用两个临时变量,遍历数组,分别判断是否递增或递减
- 时间复杂度:O(n),空间:O(1)
class Solution {
public:bool isMonotonic(vector<int>& nums) {int inc = 1, dec = 1;int size = nums.size();for(int i = 0; i < size - 1; i++){if(nums[i + 1] < nums[i]){ inc = 0;}if(nums[i + 1] > nums[i]){ dec = 0;}}return inc || dec;}
};
121. 买卖股票的最佳时机
- 121. 买卖股票的最佳时机
- 思路:遍历数组,记录此时的最小成本以及最大利润
- 时间复杂度:O(),空间:O()
class Solution {
public:int maxProfit(vector<int>& prices) {int min_price = 1e9, max_profit = 0;for(auto i : prices){max_profit = max(max_profit, i - min_price);min_price = min(min_price, i);}return max_profit;}
};