Advertisement
Shmel1k

Untitled

Dec 18th, 2021
1,104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 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