oahebky
2020-08-13 17:35:57 +08:00
手撕一个(不就几行的事吗?):
```python
def maopao(nums, reverse=False):
'''in place'''
____for i in range(len(nums)):
________for j in range(len(nums)-i-1):
____________if nums[j] > nums[j+1]:
________________nums[j], nums[j+1] = nums[j+1], nums[j]
____if reverse:
________nums.reverse()
____return nums
```
经过测试没有问题(一次过):
```python
def test_maopao(times):
____from random import randint
____for i in range(times):
________nums = [randint(0, 10000) for _ in range(randint(0, 1000))]
________ret = maopao(nums.copy())
________cmpr = sorted(nums)
________assert ret == cmpr, f"test fail at {i} times;\n{nums}"
____print(f"pass {times} times test!")
```
10K 我不敢说。能在面试的时候说出冒泡思路 4K 应该是有的。然而现在应该也没有多少 4k 的岗位。能不出错写出代码,6K 起步我个人认为是应该有的。
8K 、10K 或再往上,当然肯定不止一个 coding 能力,还有 OSI 、LINUX 、具体编程语言了解程度 等等的基础知识呀。这方面基础有了,我觉得 8K 应该是有了。
10K 可能再多考察一点点 DFS,链表等,我个人觉得就 OK 了。
======
当然,以上都是我这个小几年经验的打杂菜鸟看法。