# ICode9

• ## 2022 – Javascript 数组方法：ForEach2022-11-11 18:13:10

什么是 Javascript Array Method ForEach（）？它确保数组中的每个元素都经过定义的操作。但是 map（） 不会像数组方法那样返回一个值，一个数组。 价值：在循环中处理的元素的值。 指数：循环中通过操作的元素的索引号。（我们不会忘记循环从零开始。

• ## LeetCode 2007. Find Original Array From Doubled Array2022-09-17 07:00:35

原题链接在这里：https://leetcode.com/problems/find-original-array-from-doubled-array/ 题目： An integer array original is transformed into a doubled array changed by appending twice the value of every element in original, and then randomly shuffling th

• ## 每天都努力的课堂随笔Day082022-09-16 16:31:23

Recursion Method A call method B, it is easy to grasp！ Recursion: Method A call method A, that is method A call itself. Using recursion could solve some complex matters, it usually swap a big and complex problem to a small scale problem, recursion

• ## LeetCode 1588 Sum of All Odd Length Subarrays 前缀和2022-09-15 17:30:19

Given an array of positive integers arr, return the sum of all possible odd-length subarrays of arr. A subarray is a contiguous subsequence of the array. Solution 求所有奇数长度子序列的和。所以维护一个前缀和以后，我们只需要遍历间隔即可 点击查看代码 class Solut

• ## 多元统计分析-矩阵复习2022-09-15 13:33:04

矩阵代数 特别性质： 1. 若 $$A_{p\times q}~,~B_{q\times p}$$ , 则 $\left|\boldsymbol{I}_{p}+\boldsymbol{A B}\right|=\left|\boldsymbol{I}_{q}+\boldsymbol{B} \boldsymbol{A}\right|$证明: \[\begin{array}{c} \because\left[\begin{array}{cc} \boldsymbo

• ## LeetCode 1151 Minimum Swaps to Group All 1's Together 滑动窗口2022-09-15 04:30:10

Given a binary array data, return the minimum number of swaps required to group all 1’s present in the array together in any place in the array. Solution 注意这里的交换 $$swap$$ 并不是相邻两个元素的，而是任意位置的都可以。所以我们需要找到一个区间，使得所有1变换

• ## [Algorithm] Permutations2022-09-15 01:31:33

Write a function that takes in an array of unique integers and returns an array of all permutations of those integers in no particular order. If the input array is empty, the function should return an empty array. Sample Input array = [1, 2, 3] Sample Out

• ## 冒泡排序2022-09-15 01:00:25

冒泡排序 简单介绍 我们常用的排序算法一般有8种，简称8大排序，它们是：插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、堆排序、基数排序。今天我们就简单的来了解一下冒泡排序。什么是冒泡排序呢？举个很简单的例子：我们知道水泡吧，是不是越轻的水泡就会越快浮到水面上。

• ## Python基础知识梳理2022-09-14 21:32:04

变量与赋值语句 简单赋值用于为一个变量赋值。 序列赋值可以一次性为多个变量赋值。 多目标赋值指用连续的多个等号将同一个数据赋值给多个变量。 增强赋值指将运算符与赋值相结合的赋值语句   # 简单赋值 num = 100 # 100 # 序列赋值 x, y = 1, 2 # 1, 2 (x2, y2)

• ## zlog日志库源码解析 —— 数据结构：动态列表 zc_arraylist2022-09-14 16:33:53

目录zc_arraylist的设计思想zc_arraylist数据结构zc_arraylist接口zc_arraylist实现构造和析构插入、更新元素 + 扩容尾部添加元素有序添加元素知识点calloc, realloc zc_arraylist的设计思想 zc_arraylist数据结构 C++中有vector来表示动态列表（数组），C中如何实现呢？ 通常，我们用这样

• ## Vue reactive简介2022-09-14 11:32:41

reactive() ： 定义响应式变量，仅支持对象、数组、Map、Set等集合类型有效。对String、number、boolean、等原始类型无效 1、使用前必需引入 reactive <script setup> import { reactive } from 'vue' </script>   2、定义语法：    <script setup> import

• ## 282022-09-13 23:03:34

1 #include <iostream> 2 #include <string> 3 using namespace std; 4 template<class T,class Pred> 5 void MyForeach(T *p,T *q,Pred op){ 6 while(p != q){ 7 op(*p); 8 ++ p; 9 } 10 } 11 void Print(string s) 12

• ## 272022-09-13 23:03:22

1 #include <iostream> 2 #include <string> 3 using namespace std; 4 template <class T> 5 T SumArray( 6 T *p,T *q){ 7 T sum = *p; 8 while(++ p != q) 9 sum += *p; 10 return sum; 11 } 12 int main() { 13 string array[4]

• ## go 接口interface2022-09-13 17:31:33

接口interface go 中以关键字interface代表接口 interface 可以用于多态， 还可以接受任意数据类型， 类似void 用例：   package main import ( "fmt" ) func main() { var q, w, e interface{} // 空接口 n2 := []string{"haha", "xixi"} q = n2 fmt.Printf("this

• ## 两种段错误（Segment Fault）（SIGSEGV）2022-09-10 12:33:22

近期调试过程中，遇到两种段错误（Segment Fault） （一）数组越界 void func2（uint8_t* array） { uint8_t size = readfromoutside(); uint8_t* buff = readfromoutside(); memcpy(array, buff, size); return; } void func1（） { 　　uint8_t array[32]={0}; 　　func2(a

• ## 揭秘 JSON.Parse()2022-09-09 14:02:17

揭秘 JSON.Parse() Photo by 卡里姆·甘图斯 on 不飞溅 软件工程的一个令人着迷的方面是将文本文件中的一系列字符转换为一组指令，这些指令可以在 CPU 上执行以产生有意义的结果。这对于阅读代码的人来说是非常明显的（好吧，也许不是那么明显， 取决于语言 ) 期望的结果是什么。 那是

• ## Linux学习2022-09-09 10:03:25

Linux 注：本教程来源acwingLinux基础课 常用文件管理命令 (1) ctrl c: 取消命令，并且换行 (2) ctrl u: 清空本行命令 (3) tab键：可以补全命令和文件名，如果补全不了快速按两下tab键，可以显示备选选项 (4) ls: 列出当前目录下所有文件，蓝色的是文件夹，白色的是普通文件，绿色的是可执行文件

• ## php 正则获取文章中的图片路径2022-09-09 08:30:50

/** * 提取body中的img-url * @param string $body * @return array 路径数组 */ function getBodyImgs($body=''){ preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/i",$body,$match); return is_ar

• ## PostgreSQL-数据类型32022-09-07 13:30:16

一、数组类型 PostgreSQL 允许将表的列定义为可变长度的多维数组。可以创建任何内置或用户定义的基本类型、枚举类型、复合类型、范围类型或域的数组。 为了说明数组类型的使用，我们创建了这个表： CREATE TABLE sal_emp ( name text, pay_by_quarter integer[],

• ## array.js 说明2022-09-07 11:01:46

文件说明：数组操作集合 引入代码： import $array from '@/common/js/array.js' var lists = ['桌子', '椅子', '电视', '空调', '冰箱'] // 从数组中随机抽取二个元素 var getRnd =$array.rnd(lists, 2)   方法列表： 1 @name \$array.isArray(value) 2

• ## Typescript类型体操 - Flatten2022-09-06 21:01:02

题目 中文 在这个挑战中，你需要写一个接受数组的类型，并且返回扁平化的数组类型。 例如: type flatten = Flatten<[1, 2, [3, 4], [[[5]]]]> // [1, 2, 3, 4, 5] English In this challenge, you would need to write a type that takes an array and emitted the flatten array ty

• ## 可变数组2022-09-06 16:33:07

可变数组 上完翁恺老师的可变数组后发现并不是很理解，但是跟着敲了一遍，也有些许的感觉，下面就记录一下 首先我们的确定可变数组需要些什么函数： Array array_create(int init_size); void array_free(Array* a); int array_size(const Array* a); int* array_at(Array* a;int inde

• ## 二维数组2022-09-06 00:02:37

二维数组 目录二维数组定义二维数组打印一维数组中某一二维数组的元素遍历并打印二维数组 定义二维数组 二维数组就是在一维数组的嵌套了一层的数组元素，这些元素既是一维数组内的元素，同时它们自己也是一个数组，在它们的里面还有属于它们的元素，下面进行举例： int[][] array = {{1,2

• ## 冒泡排序2022-09-05 22:04:43

冒泡排序 直接上代码（面试笔试题，一定要会默写）    public static void main(String[] args) {        int[] arrays={12,52,45,65,95,12,32};        int[] sort = sort(arrays);        System.out.println(Arrays.toString(sort));   } ​    //冒泡排

• ## DKK 模型2022-09-05 20:04:05

Qsymm Python import numpy as np import sympy import qsymm # Spatial inversion pU = np.array([ [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0] ]) pS = qsymm.inversion(3, U=pU) # Time reversal trU = np.array([ [0.0, 0.0, -1.0, 0.0],