Advertisement
Shmel1k

Untitled

Dec 18th, 2021
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.18 KB | None | 0 0
  1. // [1,2,3,4,5,6,7,8]
  2. // [1]
  3. // []
  4. // Golang - Go - pomoika
  5.  
  6. // stack
  7. // heap
  8.  
  9. // array -- const-size(const-capacity)
  10. // slice -- dynamic-size(dynamic-capacity)
  11.  
  12. func main() {
  13. arr := [10]int{1,2,3,4,5,6,7,8,9,10}
  14. var arr [10]int
  15.  
  16. // ReadLn()
  17. // Read()
  18. arr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
  19. for i := len(arr) - 1; i >= 0; i-- {
  20. fmt.Printf("%d ", arr[i])
  21. }
  22. fmt.Println()
  23. for i := 0; i < len(arr); i++ {
  24. fmt.Printf("%d ", arr[i])
  25. }
  26. // 1 2 3 4 5 6 7 8 9
  27. // 9 ............. 1
  28. // 9 8 ..........2 1
  29. // 9 8 7 ......3 2 1
  30. // 9 8 7 6 ... 4 3 2 1
  31. // 9 8 7 6 5 4 3 2 1
  32. // 0(0) 0(1) 0(2) 0(3) 0(4) 0(5) 0(6) 0(7) 0(8)
  33. // 9 8 7 6 5 4 3 2 1
  34. for i := 0; i < len(arr)/2; i++ {
  35. arr[i], arr[len(arr)-i-1] = arr[len(arr)-i-1], arr[i]
  36. }
  37. fmt.Println(arr)
  38. }
  39.  
  40. func rotate(nums []int, k int) {
  41. k %= len(nums)
  42. newArr := make([]int, len(nums))
  43. for i := 0; i < len(nums) - k; i++ {
  44. newArr[i+k] = nums[i]
  45. }
  46. j := 0
  47. for i := len(nums) - k; i < len(nums); i++ {
  48. newArr[j] = nums[i]
  49. j++
  50. }
  51. for i := 0; i < len(nums); i++ {
  52. nums[i] = newArr[i]
  53. }
  54. }
  55.  
  56. func rotate(nums []int, k int) {
  57. k %= len(nums)
  58. for i := 0; i < k; i++ {
  59. tmp := nums[len(nums) - 1]
  60. for j := len(nums) - 1; j >= 1; j-- {
  61. nums[j] = nums[j - 1]
  62. }
  63. nums[0] = tmp
  64. }
  65. }
  66.  
  67. func reverse(nums []int, start, end int) {
  68. for start < end {
  69. nums[start], nums[end] = nums[end], nums[start]
  70. start++
  71. end--
  72. }
  73. }
  74.  
  75. func rotate(nums []int, k int) {
  76. k %= len(nums)
  77. reverse(nums, 0, len(nums) - 1)
  78. reverse(nums, 0, k - 1)
  79. reverse(nums, k, len(nums) - 1)
  80. }
  81.  
  82. func main() {
  83. // [1,2,3,4,5,6,7,8,9,10]
  84. // [[1,2,3],[4,5,6],[7,8,9]] // DVUMERNIY MASSIV
  85. // [[[1,2,3],[4]], [[5,6], [7,8]], [[9]] // TREKHMERNIY MASSIV
  86. arr := [8][7][5][6]int{}
  87. for i := 0; i < len(arr); i++ {
  88. // arr[i] -> array
  89. // arr[i] -> length
  90. for j := 0; j < len(arr[i]); j++ {
  91. for k := 0; k < len(arr[i][j]); k++ {
  92. for l := 0; l < len(arr[i][j][k]); l++ {
  93. fmt.Printf("%d", arr[i][j][k][l])
  94. }
  95. fmt.Println()
  96. }
  97. fmt.Println()
  98. }
  99. fmt.Println()
  100. }
  101. }
  102.  
  103.  
  104. func main() {
  105. // [1,2,3,4,5,6,7,8,9,10]
  106. // [[1,2,3],[4,5,6],[7,8,9]] // DVUMERNIY MASSIV
  107. // [[[1,2,3],[4]], [[5,6], [7,8]], [[9]] // TREKHMERNIY MASSIV
  108. arr := [6][7]int{}
  109. sum := 0
  110. for i := 0; i < len(arr); i++ {
  111. for j := 0; j < len(arr[i]); j++ {
  112. arr[i][j] = sum
  113. sum++
  114. }
  115. }
  116. for i := 0; i < len(arr); i++ {
  117. for j := 0; j < len(arr[i]); j++ {
  118. fmt.Printf("i=%d, j=%d, elem=%d ", i, j, arr[i][j])
  119. }
  120. fmt.Println()
  121. }
  122. for i := 0; i < len(arr); i++ {
  123. for j := 0; j < len(arr[i]); j++ {
  124. fmt.Printf("%d ", arr[i][j])
  125. }
  126. fmt.Println()
  127. }
  128. }
  129.  
  130. // You can edit this code!
  131. // Click here and start typing.
  132. package main
  133.  
  134. import "fmt"
  135.  
  136. func main() {
  137. // [1,2,3,4,5,6,7,8,9,10]
  138. // [[1,2,3],[4,5,6],[7,8,9]] // DVUMERNIY MASSIV
  139. // [[[1,2,3],[4]], [[5,6], [7,8]], [[9]] // TREKHMERNIY MASSIV
  140. arr := [7][7]int{}
  141. sum := 0
  142. for i := 0; i < len(arr); i++ {
  143. for j := 0; j < len(arr[i]); j++ {
  144. sum++
  145. arr[i][j] = sum
  146. }
  147. }
  148. for i := 0; i < len(arr); i++ {
  149. for j := 0; j < len(arr[i]); j++ {
  150. fmt.Printf("%d ", arr[i][j])
  151. }
  152. fmt.Println()
  153. }
  154.  
  155. fmt.Println("\n\n\n")
  156. // [i, i]
  157. for i := 0; i < len(arr); i++ {
  158. fmt.Printf("%d ", arr[i][i])
  159. }
  160. fmt.Println("\n\n\n")
  161. // [len(arr) - i - 1; i] || reverse([i][len(arr) - i - 1])
  162. for i := len(arr) - 1; i >= 0; i-- {
  163. fmt.Printf("%d ", arr[i][len(arr)-i-1])
  164. }
  165. }
  166.  
  167. package main
  168.  
  169. import "fmt"
  170.  
  171. func main() {
  172. // [1,2,3,4,5,6,7,8,9,10]
  173. // [[1,2,3],[4,5,6],[7,8,9]] // DVUMERNIY MASSIV
  174. // [[[1,2,3],[4]], [[5,6], [7,8]], [[9]] // TREKHMERNIY MASSIV
  175. arr := [7][7]int{}
  176. sum := -1
  177. for i := 0; i < len(arr); i++ {
  178. for j := 0; j < len(arr[i]); j++ {
  179. sum++
  180. arr[i][j] = sum
  181. }
  182. }
  183. for i := 0; i < len(arr); i++ {
  184. for j := 0; j < len(arr[i]); j++ {
  185. fmt.Printf("%d ", arr[i][j])
  186. }
  187. fmt.Println()
  188. }
  189. // Ищем число N(39)
  190. // i = N / 7; j = N % 7; [N / 7][N % 7]
  191. // i = 3, j = 2; i * 7 + j + STARTING_ELEM(0) => 21 + 2 + 0 => 23
  192. }
  193.  
  194. func linearSearch() {
  195. arr := [5]int{4, 5, 7, 1, 2}
  196. target := 1
  197. for i := 0; i < len(arr); i++ {
  198. if arr[i] == target {
  199. fmt.Println("YES")
  200. }
  201. }
  202.  
  203. if cap(arr) > len(arr) {
  204. arr = append(arr, target)
  205. barrierLinearSearch()
  206. } else {
  207. linearSearch()
  208. }
  209. }
  210.  
  211. func barrierLinearSearch() {
  212. // [1,2,3,4,5,6,7], target = 19
  213. // [1,2,3,4,5,6,7,19], target = 19
  214. target := 19
  215. arr := []int{1, 2, 3, 19, 5, 6, 7}
  216. oldLen := len(arr)
  217. arr = append(arr, target)
  218. i := 0
  219. for arr[i] != target {
  220. i++
  221. }
  222. fmt.Println(i < oldLen)
  223. }
  224.  
  225. // You can edit this code!
  226. // Click here and start typing.
  227. package main
  228.  
  229. import "fmt"
  230.  
  231. func main() {
  232. arr := []int{1, 2, 3, 4, 5, 6, 7, 8} // target = 8
  233. for i := 0; i < len(arr); i++ {
  234. if (arr[i] & (arr[i] - 1)) == 0 {
  235. fmt.Println(arr[i])
  236. }
  237. }
  238. }
  239.  
  240. // You can edit this code!
  241. // Click here and start typing.
  242. package main
  243.  
  244. import "fmt"
  245.  
  246. func abs(a int) int {
  247. if a < 0 {
  248. return -a
  249. }
  250. return a
  251. }
  252.  
  253. func main() {
  254. arr := []int{1, 3, 7, 2, 19, 6, 15, 4, 11} // target = 10
  255. target := 10
  256. result := arr[0]
  257. minDiff := abs(arr[0] - target)
  258. for i := 1; i < len(arr); i++ { // O(N)
  259. curr := arr[i]
  260. currDiff := abs(curr - target)
  261. if currDiff < minDiff {
  262. result = arr[i]
  263. minDiff = currDiff
  264. }
  265. }
  266. fmt.Println(result)
  267. }
  268.  
  269. // You can edit this code!
  270. // Click here and start typing.
  271. package main
  272.  
  273. import "fmt"
  274.  
  275. func abs(a int) int {
  276. if a < 0 {
  277. return -a
  278. }
  279. return a
  280. }
  281.  
  282. func main() {
  283. arr := []int{1, 3, 7, 2, 19, 6, 15, 4, 11} // target = 10
  284. max := arr[0]
  285. for i := 1; i < len(arr); i++ { // O(N);
  286. if arr[i] > max {
  287. max = arr[i]
  288. }
  289. }
  290. result := arr[0]
  291. for i := 0; i < len(arr); i++ { // O(N*k)
  292. if result < arr[i] && arr[i] != max {
  293. result = arr[i]
  294. }
  295. } // O(N * N) -> O(N^2)
  296. fmt.Println(result)
  297. }
  298.  
  299.  
  300. func main() {
  301. arr := []int{1, 2, 3, 4, 5, 6, 7, 8}
  302.  
  303. for i := 0; i < 10000; i++ {
  304. currElem := arr[i%len(arr)]
  305. fmt.Println(currElem)
  306. }
  307. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement