关闭

青桃传媒

全国

程序员能做的最好的副业是什么?

青桃传媒·2025-03-13 03:28:17·阅读

大家好呀,我是飞鱼。

大家都知道,当下的互联网环境,极度内卷。

像什么996,007这些。

其最残酷的是扼杀了程序员其他的可能性,就是要让你只埋头干活,不要去思考选择其他事情。

程序员能做的最好的副业是什么?

很多人都说中国的程序员是没有积累的职业,不像医生,律师,教师这些。

所以我们尽早得尝试都积累些自己的生产资料,这样才能走的长远。

总之在目前的大环境下,每个程序员都应该为自己考虑一份被动收入,其重要性不言而喻。

我觉得程序员先多尝试一些低成本的可行的副业,然后找到适合自己的,能长期坚持下去的。

我们尝试做副业的时候,必须要满足几个特征。

1、个人喜欢,这样才能坚持下去。

2、需要能长期做的。

3、能给别人带来价值。

4、试错成本尽量低。

目前大家比较熟悉的副业有:

摆摊,跑滴滴,送外卖,接私活,当培训讲师,教少儿编程,做独立开发等。

我个人觉得当下程序员最好的副业是做自媒体

做自媒体,打造个人的品牌IP,能让你有更多的机会,认识更多的人。

自媒体类似一个免费的广告平台,发挥个人的技能,打造出一个个人品牌,然后通过自媒体宣传出去。

当通过自媒体获得了足够的流量,到时候变现也比较简单了。

比如可以通过广告变现,还可以卖课,不是都说程序员的终点是卖课么。

有啥其他看法,欢迎在评论区留言讨论。

想看技术文章的,可以去我的个人网站:/

每日一题

题目描述

峰值元素是指其值严格大于左右相邻值的元素。

给你一个整数数组 nums,找到峰值元素并返回其索引。

数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞ 。

你必须实现时间复杂度为 O(log n) 的算法来解决此问题。

解题思路

二分查找

查找时,左指针 l,右指针 r,以其保持左右顺序为循环条件。

根据左右指针计算中间位置 m,并比较 m 与 m+1 的值。

代码实现

Java代码:

class Solution {
    public int findPeakElement(int[] nums) {
        int left = 0, right = nums.length - 1;
        for (; left < right; ) {
            int mid = left + (right - left) / 2;
            if (nums[mid] > nums[mid + 1]) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        return left;
    }
}

代码:

class Solution:
    def findPeakElement(self, nums: List[int]) -> int:
        # 二分查找
        nums.append(-float("inf"))
        lo, hi = 0, len(nums) - 1
        while lo < hi:
            mid = (lo + hi) // 2
            if nums[mid] < nums[mid + 1]:
                lo = mid + 1
            else:
                hi = mid
        return lo

Go代码:

func findPeakElement(nums []int) int {
 left, right := 0, len(nums)-1
 for left < right {
  mid := (left + right) >> 1
  if mid == len(nums)-1 || nums[mid] < nums[mid+1] {
   left = mid + 1
  } else {
   right = mid
  }
 }
 return left
}

复杂度分析

时间复杂度:O(logn)

空间复杂度:O(1)。

加载中~

你可能感兴趣的