首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >工资上交给老婆后,中年男人最后的体面:连学AI的自由都没有

工资上交给老婆后,中年男人最后的体面:连学AI的自由都没有

作者头像
编码如写诗
发布2026-03-27 13:30:55
发布2026-03-27 13:30:55
250
举报
文章被收录于专栏:编码如写诗编码如写诗

今天看到一个帖子,看得我心里挺不是滋味的。

一个老哥,研究AI,花了点算力费用,被老婆查账了。

看完这个帖子,我沉默了很久。

❝某教师:以前女孩能守财,婚后把钱交给老婆踏实。现在大多女孩比男孩都能花钱。那为了家庭还是要考虑一下。要不然各自管各自的钱,要不然按比例拿出一部分共同经营家庭,剩下的各自管理。社会不同了,要随着时代的变化而改变了。

❝某移动开发:自愿的啊,啥基金管理人过什么日子

❝某IT支持:兄弟,我特理解你的憋屈。能忍先忍一段时间,忍不下去就离吧!当今社会离婚率超过40%,说明大部分年轻一辈的婚姻都有问题。我感觉夫妻互看不爽的概率超过了七成,走到离婚已经是矛盾不可调和了。

❝某蚂蚁金服员工:工作和钱是男人的底气。买东西,啥都行,上交免谈。工资要有话语权,没有话语权你就是工具

❝某派派员工:钱是底气,你把钱上交了,那就是把底气丢了,干啥都得低三下气的,劝你还是把财政大权掌握在自己手里比较好。

❝某测试工程师:从不上交,媳妇也不敢要

看完这些评论,我发现一个有意思的现象:现在越来越多的男人不愿意上交工资了。

有人说是因为现在女孩比男孩会花钱。这话虽然有点绝对,但也不是没道理。以前的婚姻模式是男人赚钱女人管钱,现在很多女性收入不比男性低,凭啥还让你管?

但我觉得吧,这事儿跟谁会花钱关系不大,关键是信任。

婚姻说到底是合伙人关系,两个人把钱放一起,是为了共同经营这个家。但如果你花的每一分钱都要被审问,那这个合伙关系就变味了。

那个老哥说的"研究AI,又不是玩",我特别理解。现在AI这么火,不学就会被淘汰。这点算力费,说是学费一点不为过。你不让他学新技术,以后被裁员了,谁负责?

但他老婆可能也有她的想法。家里的钱都是有规划的,突然少了一笔,肯定会问。这个逻辑也没问题。

问题出在哪?我觉得是沟通。

如果两个人能坐下来好好聊聊,把家庭的财务规划说清楚,每个月多少用于生活,多少用于储蓄,多少用于个人发展,可能就没这么多破事儿了。

但现实是,很多夫妻之间根本没法好好说话。问一句"怎么少了"可能是关心,但问的语气和态度决定了这句话是关心还是质疑。

那个老哥说"婚姻带来了什么,我想了五分钟,没想出来"。这个沉默,可能是很多中年男人的日常。

算法题:Simplify Path

题目理解

给定一个绝对路径(以'/'开头),返回它的简化版本。

简化规则:

  • 连续的多个'/'要替换成单个'/'
  • 遇到"."(当前目录)要忽略
  • 遇到".."(上级目录)要返回上一级目录
  • 返回结果必须以'/'开头,且不能以'/'结尾(除非是根目录"/")

比如:

  • "/home/" → "/home"
  • "/home//foo/" → "/home/foo"
  • "/home/user/Documents/../Pictures" → "/home/user/Pictures"
  • "/../" → "/"
  • "/a/./b/../../c/" → "/c"

这题本质上就是模拟文件系统的路径处理。

思路分析

解法:使用栈来辅助处理。

遍历路径字符串,按'/'分割成各个部分,然后依次处理:

  • 如果是空字符串或".",直接跳过
  • 如果是"..",弹出栈顶元素(返回上级目录)
  • 否则,压入当前目录名

最后用'/'连接栈中的所有元素,记得加上前缀'/'。

复杂度分析

时间复杂度:O(n),只需要遍历一次路径字符串。

空间复杂度:O(n),最坏情况下需要存储所有目录名。

代码实现

代码语言:javascript
复制
package main

import (
 "fmt"
 "strings"
)

func simplifyPath(path string) string {
 // 按'/'分割路径
 parts := strings.Split(path, "/")
 
 // 使用栈来存储有效的目录名
 stack := []string{}
 
 for _, part := range parts {
  // 跳过空字符串和当前目录
  if part == "" || part == "." {
   continue
  }
  // 返回上级目录
  if part == ".." {
   if len(stack) > 0 {
    stack = stack[:len(stack)-1]
   }
  } else {
   // 压入目录名
   stack = append(stack, part)
  }
 }
 
 // 构建结果
 result := "/" + strings.Join(stack, "/")
 return result
}

func main() {
 // 测试用例
 testCases := []struct {
  input    string
  expected string
 }{
  {"/home/", "/home"},
  {"/home//foo/", "/home/foo"},
  {"/home/user/Documents/../Pictures", "/home/user/Pictures"},
  {"/../", "/"},
  {"/a/./b/../../c/", "/c"},
  {"/a/b/c/../..", "/a"},
  {"/a/b/c/.", "/a/b"},
  {"/.", "/"},
  {"", "/"},
  {"/..", "/"},
  {"/abc/../abc/../abc", "/abc"},
 }

 for _, tc := range testCases {
  result := simplifyPath(tc.input)
  if result == tc.expected {
   fmt.Printf("✓ %s → %s\n", tc.input, result)
  } else {
   fmt.Printf("✗ %s → %s (expected: %s)\n", tc.input, result, tc.expected)
  }
 }
}

注意事项

  • strings.Split会返回空字符串元素,要注意过滤
  • 处理".."时要先判断栈是否为空
  • 结果必须以'/'开头
  • 根目录"/"只有一个斜杠
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编码如写诗 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算法题:Simplify Path
    • 题目理解
    • 思路分析
    • 复杂度分析
    • 代码实现
    • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档