Fork me on GitHub

Leetcode-048-旋转矩阵

Leetcode-048-旋转图像

题目描述

给定一个 n × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
示例 1:

给定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
],

原地旋转输入矩阵,使其变为:
[
[7,4,1],
[8,5,2],
[9,6,3]
]

示例 2:

给定 matrix =
[
[ 5, 1, 9,11],
[ 2, 4, 8,10],
[13, 3, 6, 7],
[15,14,12,16]
],

原地旋转输入矩阵,使其变为:
[
[15,13, 2, 5],
[14, 3, 4, 1],
[12, 6, 8, 9],
[16, 7,10,11]
]
阅读更多...

JUC-17-ConcurrentHashMap

JUC-17-ConcurrentHashMap

前言

  • ConcurrentHashMap 是一个并发散列映射表,它允许完全并发的读取,并且支持给定数量的并发更新。
  • HashTable和同步包装器包装的 HashMap,使用一个全局的锁来同步不同线程间的并发访问,同一时间点,只能有一个线程持有锁,也就是说在同一时间点,只能有一个线程能访问容器,这虽然保证多线程间的安全并发访问,但同时也导致对容器的访问变成串行化的了。
阅读更多...

汇编-02-进制

汇编-02-进制

1. 为什么要使用进制数字?

如果我们直接操作二进制的话 , 面对这么长的数进行思考或操作,没有人会喜欢。

C,C++ 语言 没有提供在代码直接写二进制数的方法。
用16进制或8进制可以解决这个问题。
因为,进制越大,数的表达长度也就越短。

之所以 使用 16或8进制,而不其它的,诸如9或20进制 .

是因为2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换 ;

8进制或16进制 既 缩短了二进制数,还能 保持了二进制数的表达特点。转换还方便 .

阅读更多...

汇编-01-概述

汇编-01-概述

  • CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。

  • 这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。

  • 编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。

  • 对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。

  • 为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。

一张程序猿的鄙视链:(哈哈哈 看看就好!!)

mark

阅读更多...

排序-02-桶排序

排序-02-桶排序

参考博客 : https://www.cnblogs.com/skywang12345/p/3603935.html

mark

mark

1. 桶排序思想

  • 一句话总结:划分多个范围相同的区间,每个子区间进行自排序,最后合并
  • 桶排序是计数排序的扩展版本
    • 计数排序可以看成每个桶只存储相同的元素
    • 而桶排序每个桶存储的是一定范围的元素,通过映射函数,将待排序数组中的元素映射到各个对应的桶中,对每个桶中的元素进行排序,最后将非空桶中的元素逐个放入原序列中。

mark

阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信