当前位置: 首页 > news >正文

人工智能写的十段代码,九个通过测试了

“抢走你工作的不会是 AI ,而是先掌握 AI 能力的人”

编程测试

1. 我想用golang实现二叉树前序,请你帮我写一下代码。

// 定义二叉树节点
type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode
}// 前序遍历
func PreOrderTraversal(root *TreeNode) {if root == nil {return}fmt.Println(root.Val)PreOrderTraversal(root.Left)PreOrderTraversal(root.Right)
}

 2. 用golang实现二叉树中序遍历,写一下代码。

// 定义二叉树节点
type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode
}// 中序遍历
func InOrderTraversal(root *TreeNode) {if root == nil {return}InOrderTraversal(root.Left)fmt.Println(root.Val)InOrderTraversal(root.Right)
}

3. 给定一个字符串数组,打印数组中的所有词。请用C++代码实现

#include <iostream>
using namespace std;
int main()
{string arr[] = {"Hello", "World", "!"};int size = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < size; i++){cout << arr[i] << " ";}return 0;
}

4. 零尾数个数

如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?请用C代码实现

5650 4542 3554 473 946 4114 3871 9073 90 4329
2758 7949 6113 5659 5245 7432 3051 4434 6704 3594
9937 1173 6866 3397 4759 7557 3070 2287 1453 9899
1486 5722 3135 1170 4014 5510 5120 729 2880 9019
2049 698 4582 4346 4427 646 9742 7340 1230 7683
5693 7015 6887 7381 4172 4341 2909 2027 7355 5649
6701 6645 1671 5978 2704 9926 295 3125 3878 6785
2066 4247 4800 1578 6652 4616 1113 6205 3264 2915
3966 5291 2904 1285 2193 1428 2265 8730 9436 7074
689 5510 8243 6114 337 4096 8199 7313 3685 211

#include <stdio.h>
int main()
{int a[10][10] = {{5650, 4542, 3554, 473, 946, 4114, 3871, 9073, 90, 4329},{2758, 7949, 6113, 5659, 5245, 7432, 3051, 4434, 6704, 3594},{9937, 1173, 6866, 3397, 4759, 7557, 3070, 2287, 1453, 9899},{1486, 5722, 3135, 1170, 4014, 5510, 5120, 729, 2880, 9019},{2049, 698, 4582, 4346, 4427, 646, 9742, 7340, 1230, 7683},{5693, 7015, 6887, 7381, 4172, 4341, 2909, 2027, 7355, 5649},{6701, 6645, 1671, 5978, 2704, 9926, 295, 3125, 3878, 6785},{2066, 4247, 4800, 1578, 6652, 4616, 1113, 6205, 3264, 2915},{3966, 5291, 2904, 1285, 2193, 1428, 2265, 8730, 9436, 7074},{689, 5510, 8243, 6114, 337, 4096, 8199, 7313, 3685, 211}};int result = 1;for (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {result *= a[i][j];}}int count = 0;while (result % 10 == 0) {count++;result /= 10;}printf("The number of zeros at the end of the product is %d.\n", count);return 0;
}

粗看原理好像是对的,先全部相乘再循环计数。可惜实现不了,所有整数相乘肯定会溢出了。

5. 四数之和

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组,用python代码实现。

def fourSum(nums, target):res = []nums.sort()for i in range(len(nums)-3):if i > 0 and nums[i] == nums[i-1]:continuefor j in range(i+1, len(nums)-2):if j > i+1 and nums[j] == nums[j-1]:continuel, r = j+1, len(nums)-1while l < r:s = nums[i] + nums[j] + nums[l] + nums[r]if s == target:res.append([nums[i], nums[j], nums[l], nums[r]])while l < r and nums[l] == nums[l+1]:l += 1while l < r and nums[r] == nums[r-1]:r -= 1l += 1r -= 1elif s < target:l += 1else:r -= 1return res

6. 字符串编码

问题描述
小明发明了一种给由全大写字母组成的字符串编码的方法。
对于每一个大写字母,小明将它转换成它在 26 个英文字母中序号,即 A → 1, B → 2, … Z →26。
这样一个字符串就能被转化成一个数字序列:比如 ABCXYZ → 123242526。
现在给定一个转换后的数字序列,小明想还原出原本的字符串。
当然这样的还原有可能存在多个符合条件的字符串。
小明希望找出其中字典序最大的字符串。
请用C++代码来实现:

输入格式
一个数字序列。

输出格式
一个只包含大写字母的字符串,代表答案

样例输入
123242526
样例输出
LCXYZ

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {string s;cin >> s;string ans = "";for (int i = 0; i < s.length(); i++) {int num = s[i] - '0';char c = 'A' + num - 1;ans += c;}sort(ans.begin(), ans.end(), greater<char>());cout << ans << endl;return 0;
}

测试错误,输入123242526 输出 FEDCBBBBA。你能找出错在哪里吗?

写一段正确的参考代码,如下:

#include <bits/stdc++.h>
using namespace std;int main()
{string in;string re = "";cin >> in;int len = in.length();in = in + 'Z';for (int i = 0; i < len;){int temp = int(in[i] - '0') * 10 + int(in[i + 1] - '0');if (temp > 26){re = re + char(in[i] - '0' + 'A' - 1);i++;}else{re = re+char(temp + 'A' - 1);i += 2;}}cout << re;return 0;
}

7. 请给出七大排序算法的python代码。

#1. 冒泡排序:
def bubble_sort(nums):for i in range(len(nums)-1):for j in range(len(nums)-i-1):if nums[j] > nums[j+1]:nums[j], nums[j+1] = nums[j+1], nums[j]return nums#2. 选择排序:
def selection_sort(nums):for i in range(len(nums)-1):min_index = ifor j in range(i+1, len(nums)):if nums[j] < nums[min_index]:min_index = jnums[i], nums[min_index] = nums[min_index], nums[i]return nums#3. 插入排序:
def insertion_sort(nums):for i in range(1, len(nums)):j = iwhile j > 0 and nums[j] < nums[j-1]:nums[j], nums[j-1] = nums[j-1], nums[j]j -= 1return nums#4. 希尔排序:
def shell_sort(nums):gap = len(nums) // 2while gap > 0:for i in range(gap, len(nums)):j = iwhile j >= gap and nums[j] < nums[j-gap]:nums[j], nums[j-gap] = nums[j-gap], nums[j]j -= gapgap //= 2return nums#5. 归并排序:
def merge_sort(nums):if len(nums) <= 1:return numsmid = len(nums) // 2left = merge_sort(nums[:mid])right = merge_sort(nums[mid:])return merge(left, right)
def merge(left, right):res = []while left and right:if left[0] <= right[0]:res.append(left.pop(0))else:res.append(right.pop(0))res += leftres += rightreturn res#6. 快速排序:
def quick_sort(nums):if len(nums) <= 1:return numspivot = nums[0]left = [x for x in nums[1:] if x < pivot]right = [x for x in nums[1:] if x >= pivot]return quick_sort(left) + [pivot] + quick_sort(right)#7. 堆排序:
def heap_sort(nums):n = len(nums)for i in range(n//2-1, -1, -1):heapify(nums, n, i)for i in range(n-1, 0, -1):nums[i], nums[0] = nums[0], nums[i]heapify(nums, i, 0)return nums
def heapify(nums, n, i):largest = il = 2*i + 1r = 2*i + 2if l < n and nums[i] < nums[l]:largest = lif r < n and nums[largest] < nums[r]:largest = rif largest != i:nums[i], nums[largest] = nums[largest], nums[i]heapify(nums, n, largest)

8. 请给出七大排序算法的C代码。

1.冒泡排序:
void bubble_sort(int arr[], int n) 
{ int i, j; for (i = 0; i < n-1; i++)       for (j = 0; j < n-i-1; j++)  if (arr[j] > arr[j+1]) swap(&arr[j], &arr[j+1]); 
} //2.选择排序:
void selection_sort(int arr[], int n) 
{ int i, j, min_idx; for (i = 0; i < n-1; i++) { min_idx = i; for (j = i+1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; swap(&arr[min_idx], &arr[i]); } 
} //3.插入排序:
void insertion_sort(int arr[], int n) 
{ int i, key, j; for (i = 1; i < n; i++) { key = arr[i]; j = i-1; while (j >= 0 && arr[j] > key) { arr[j+1] = arr[j]; j = j-1; } arr[j+1] = key; } 
} //4.希尔排序:
void shell_sort(int arr[], int n) 
{ for (int gap = n/2; gap > 0; gap /= 2) { for (int i = gap; i < n; i += 1) { int temp = arr[i]; int j;             for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) arr[j] = arr[j - gap]; arr[j] = temp; } } 
} //5.归并排序:
void merge(int arr[], int l, int m, int r) 
{ int i, j, k; int n1 = m - l + 1; int n2 =  r - m; int L[n1], R[n2]; for (i = 0; i < n1; i++) L[i] = arr[l + i]; for (j = 0; j < n2; j++) R[j] = arr[m + 1+ j]; i = 0; j = 0; k = l; while (i < n1 && j < n2) { if (L[i] <= R[j]) { arr[k] = L[i]; i++; } else{ arr[k] = R[j]; j++; } k++; } while (i < n1) { arr[k] = L[i]; i++; k++; } while (j < n2) { arr[k] = R[j]; j++; k++; } 
} 
void merge_sort(int arr[], int l, int r) 
{ if (l < r) { int m = l+(r-l)/2; merge_sort(arr, l, m); merge_sort(arr, m+1, r); merge(arr, l, m, r); } 
} //6.快速排序:
int partition (int arr[], int low, int high) 
{ int pivot = arr[high];   int i = (low - 1);  for (int j = low; j <= high- 1; j++) { if (arr[j] <= pivot) { i++;   swap(&arr[i], &arr[j]); } } swap(&arr[i + 1], &arr[high]); return (i + 1); 
} 
void quick_sort(int arr[], int low, int high) 
{ if (low < high) { int pi = partition(arr, low, high); quick_sort(arr, low, pi - 1); quick_sort(arr, pi + 1, high); } 
} //7.堆排序:
void heapify(int arr[], int n, int i) 
{ int largest = i; int l = 2*i + 1; int r = 2*i + 2; if (l < n && arr[l] > arr[largest]) largest = l; if (r < n && arr[r] > arr[largest]) largest = r; if (largest != i) { swap(arr[i], arr[largest]); heapify(arr, n, largest); } 
} 
void heap_sort(int arr[], int n) 
{ for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i); for (int i=n-1; i>=0; i--) { swap(arr[0], arr[i]); heapify(arr, i, 0); } 
}

9. 请给出七大排序算法的Java代码。

//1. 冒泡排序:
public static void bubbleSort(int[] arr) {int n = arr.length;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}//2. 选择排序:
public static void selectionSort(int[] arr) {int n = arr.length;for (int i = 0; i < n - 1; i++) {int minIndex = i;for (int j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}
}//3. 插入排序:
public static void insertionSort(int[] arr) {int n = arr.length;for (int i = 1; i < n; i++) {int value = arr[i];int j = i - 1;while (j >= 0 && arr[j] > value) {arr[j + 1] = arr[j];j--;}arr[j + 1] = value;}
}//4. 希尔排序:
public static void shellSort(int[] arr) {int n = arr.length;for (int gap = n / 2; gap > 0; gap /= 2) {for (int i = gap; i < n; i++) {int value = arr[i];int j = i - gap;while (j >= 0 && arr[j] > value) {arr[j + gap] = arr[j];j -= gap;}arr[j + gap] = value;}}
}//5. 归并排序:
public static void mergeSort(int[] arr) {int n = arr.length;if (n < 2) {return;}int mid = n / 2;int[] left = new int[mid];int[] right = new int[n - mid];for (int i = 0; i < mid; i++) {left[i] = arr[i];}for (int i = mid; i < n; i++) {right[i - mid] = arr[i];}mergeSort(left);mergeSort(right);merge(arr, left, right);
}
public static void merge(int[] arr, int[] left, int[] right) {int i = 0, j = 0, k = 0;int leftLen = left.length;int rightLen = right.length;while (i < leftLen && j < rightLen) {if (left[i] <= right[j]) {arr[k++] = left[i++];} else {arr[k++] = right[j++];}}while (i < leftLen) {arr[k++] = left[i++];}while (j < rightLen) {arr[k++] = right[j++];}
}//6. 快速排序:
public static void quickSort(int[] arr, int low, int high) {if (low < high) {int pivot = partition(arr, low, high);quickSort(arr, low, pivot - 1);quickSort(arr, pivot + 1, high);}
}
public static int partition(int[] arr, int low, int high) {int pivot = arr[high];int i = low - 1;for (int j = low; j < high; j++) {if (arr[j] <= pivot) {i++;int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}int temp = arr[i + 1];arr[i + 1] = arr[high];arr[high] = temp;return i + 1;
}//7. 堆排序:
public static void heapSort(int[] arr) {int n = arr.length;for (int i = n / 2 - 1; i >= 0; i--) {heapify(arr, n, i);}for (int i = n - 1; i >= 0; i--) {int temp = arr[0];arr[0] = arr[i];arr[i] = temp;heapify(arr, i, 0);}
}
public static void heapify(int[] arr, int n, int i) {int largest = i;int left = 2 * i + 1;int right = 2 * i + 2;if (left < n && arr[left] > arr[largest]) {largest = left;}if (right < n && arr[right] > arr[largest]) {largest = right;}if (largest != i) {int temp = arr[i];arr[i] = arr[largest];arr[largest] = temp;heapify(arr, n, largest);}
}

10. 请给出十大排序算法的Golang代码。

//1. 冒泡排序:
func BubbleSort(arr []int) {for i := 0; i < len(arr); i++ {for j := 0; j < len(arr)-i-1; j++ {if arr[j] > arr[j+1] {arr[j], arr[j+1] = arr[j+1], arr[j]}}}
}//2. 选择排序:
func SelectionSort(arr []int) {for i := 0; i < len(arr); i++ {minIndex := ifor j := i + 1; j < len(arr); j++ {if arr[j] < arr[minIndex] {minIndex = j}}arr[i], arr[minIndex] = arr[minIndex], arr[i]}
}//3. 插入排序:
func InsertionSort(arr []int) {for i := 1; i < len(arr); i++ {for j := i; j > 0; j-- {if arr[j] < arr[j-1] {arr[j], arr[j-1] = arr[j-1], arr[j]}}}
}//4. 希尔排序:
func ShellSort(arr []int) {n := len(arr)h := 1for h < n/3 {h = 3*h + 1}for h >= 1 {for i := h; i < n; i++ {for j := i; j >= h && arr[j] < arr[j-h]; j -= h {arr[j], arr[j-h] = arr[j-h], arr[j]}}h /= 3}
}//5. 归并排序:
func MergeSort(arr []int) {if len(arr) <= 1 {return}mid := len(arr) / 2left := arr[:mid]right := arr[mid:]MergeSort(left)MergeSort(right)i := 0j := 0k := 0for i < len(left) && j < len(right) {if left[i] < right[j] {arr[k] = left[i]i++} else {arr[k] = right[j]j++}k++}for i < len(left) {arr[k] = left[i]i++k++}for j < len(right) {arr[k] = right[j]j++k++}
}//6. 快速排序:
func QuickSort(arr []int) {if len(arr) <= 1 {return}pivot := arr[0]left := []int{}right := []int{}for i := 1; i < len(arr); i++ {if arr[i] < pivot {left = append(left, arr[i])} else {right = append(right, arr[i])}}QuickSort(left)QuickSort(right)arr = append(append(left, pivot), right...)
}//7. 堆排序:
func HeapSort(arr []int) {n := len(arr)for i := n/2 - 1; i >= 0; i-- {heapify(arr, n, i)}for i := n - 1; i >= 0; i-- {arr[0], arr[i] = arr[i], arr[0]heapify(arr, i, 0)}
}
func heapify(arr []int, n, i int) {largest := il := 2*i + 1r := 2*i + 2if l < n && arr[l] > arr[largest] {largest = l}if r < n && arr[r] > arr[largest] {largest = r}if largest != i {arr[i], arr[largest] = arr[largest], arr[i]heapify(arr, n, largest)}
}//8. 计数排序:
func CountingSort(arr []int) {max := arr[0]for i := 1; i < len(arr); i++ {if arr[i] > max {max = arr[i]}}count := make([]int, max+1)for i := 0; i < len(arr); i++ {count[arr[i]]++}k := 0for i := 0; i <= max; i++ {for j := 0; j < count[i]; j++ {arr[k] = ik++}}
}//9. 桶排序:
func BucketSort(arr []int) {n := len(arr)buckets := make([][]int, n)for i := 0; i < n; i++ {index := arr[i] / nbuckets[index] = append(buckets[index], arr[i])}k := 0for i := 0; i < n; i++ {bucketLen := len(buckets[i])if bucketLen > 0 {InsertionSort(buckets[i])copy(arr[k:], buckets[i])k += bucketLen}}
}//10. 基数排序:
func RadixSort(arr []int) {max := arr[0]for i := 1; i < len(arr); i++ {if arr[i] > max {max = arr[i]}}for exp := 1; max/exp > 0; exp *= 10 {countSort(arr, exp)}
}
func countSort(arr []int, exp int) {output := make([]int, len(arr))count := make([]int, 10)for i := 0; i < len(arr); i++ {count[(arr[i]/exp)%!](MISSING)++}for i := 1; i < 10; i++ {count[i] += count[i-1]}for i := len(arr) - 1; i >= 0; i-- {output[count[(arr[i]/exp)%!](MISSING)-1] = arr[i]count[(arr[i]/exp)%!](MISSING)--}copy(arr, output)
}

回答的篇幅够长吧,比CSDN的网页版强。但上面代码中的基数排序出现了(MISSING)错误代码,再来问一次:

请用Golang写出基数排序的代码

// 基数排序
func RadixSort(arr []int) []int {// 获取最大值max := arr[0]for _, v := range arr {if v > max {max = v}}// 计算最大值的位数maxDigit := 0for max != 0 {max /= 10maxDigit++}// 创建桶buckets := make([][]int, 10)// 将数据放入桶中mod := 10dev := 1for i := 0; i < maxDigit; i++ {for _, v := range arr {bucketIndex := (v %!m(MISSING)od) / devbuckets[bucketIndex] = append(buckets[bucketIndex], v)}// 将桶中的数据放回原数组index := 0for _, bucket := range buckets {for _, v := range bucket {arr[index] = vindex++}bucket = bucket[:0]}mod *= 10dev *= 10}return arr
}

41aec71572e04959a3fa066340f63961.gif

——end—— 

相关文章:

人工智能写的十段代码,九个通过测试了

“抢走你工作的不会是 AI &#xff0c;而是先掌握 AI 能力的人” 编程测试 1. 我想用golang实现二叉树前序&#xff0c;请你帮我写一下代码。 // 定义二叉树节点 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }// 前序遍历 func PreOrderTraversal(root *Tre…...

巴塞尔问题数值逼近方法

巴塞尔问题&#xff1a;计算所有平方数的导数和 ∑n1∞1n2lim⁡n→∞(112122⋯1n2)\sum_{n1}^{\infty} \frac{1}{n^{2}}\lim _{n \rightarrow\infty}\left(\frac{1}{1^{2}}\frac{1}{2^{2}}\cdots\frac{1}{n^{2}}\right)n1∑∞​n21​n→∞lim​(121​221​⋯n21​) 其理论解为…...

【深度学习环境】Docker

1. Docker 相关安装配置 1.1 docker 安装 参考&#xff1a;https://www.runoob.com/docker/ubuntu-docker-install.html 1.2 nvidia-docker 安装 参考&#xff1a;https://zhuanlan.zhihu.com/p/37519492 1.3 代理加速 参考&#xff1a;https://yeasy.gitbook.io/docker_…...

基于vscode开发vue项目的详细步骤教程 2 第三方图标库FontAwesome

1、Vue下载安装步骤的详细教程(亲测有效) 1_水w的博客-CSDN博客 2、Vue下载安装步骤的详细教程(亲测有效) 2 安装与创建默认项目_水w的博客-CSDN博客 3、基于vscode开发vue项目的详细步骤教程_水w的博客-CSDN博客 目录 六、第三方图标库FontAwesome 1 安装FontAwesome 解决报…...

今天面了个腾讯拿25K出来的软件测试工程师,让我见识到了真正的天花板...

今天上班开早会就是新人见面仪式&#xff0c;听说来了个很厉害的大佬&#xff0c;年纪还不大&#xff0c;是上家公司离职过来的&#xff0c;薪资已经达到中高等水平&#xff0c;很多人都好奇不已&#xff0c;能拿到这个薪资应该人不简单&#xff0c;果然&#xff0c;自我介绍的…...

OSG三维渲染引擎编程学习之六十九:“第六章:OSG场景工作机制” 之 “6.9 OSG数据变量”

目录 第六章 OSG场景工作机制 6.9 OSG数据变量 第六章 OSG场景工作机制 作为一个成熟的三维渲染引擎,需要提供快速获取场景数据、节点等信息,具备自定义数据或动画更新接口,能接收应用程序或窗口等各类消息。OSG三维渲染引擎能较好地完成上述工作,OSG是采用什么方式或工作…...

Tektronix泰克TDP3500差分探头3.5GHz

附加功能&#xff1a; 带宽&#xff1a;3.5 GHz 差分输入电容&#xff1a;≤0.3 pF 差分输入电阻&#xff1a;100 kΩ DC pk 交流输入电压&#xff1a;15 V >60 dB 在 1 MHz 和 >25 dB 在 1 GHz CMRR 出色的共模抑制——减少较高共模环境中的测量误差 低电容和电阻负载…...

轻松实现内网穿透:实现远程访问你的私人网络

导语&#xff1a;内网穿透是什么&#xff1f;为什么我们需要它&#xff1f;今天我们将介绍这个令人惊叹的技术&#xff0c;让你实现远程访问你的私人网络。 使用内网穿透&#xff0c;轻松实现外网访问本地部署的网站 第一部分&#xff1a;什么是内网穿透&#xff1f; 通俗解释…...

MySQL长字符截断

MySQL超长字符截断又名"SQL-Column-Truncation"&#xff0c;是安全研究者Stefan Esser在2008 年8月提出的。 在MySQL中的一个设置里有一个sql_mode选项&#xff0c;当sql_mode设置为default时&#xff0c;即没有开启STRICT_ALL_TABLES选项时&#xff08;MySQLsql_mo…...

python计算量比指标

百度百科是这么写的&#xff1a;量比定义&#xff1a;股市开市后平均每分钟的成交量与过去5个交易日平均每分钟成交量之比。计算公式&#xff1a;量比&#xff08;现成交总手数 / 现累计开市时间(分) &#xff09;/ 过去5日平均每分钟成交量。这里公式没有问题&#xff0c;但是…...

下拉框推荐-Suggest-SUG

什么是下拉框推荐 在我们使用各种app&#xff08;飞猪&#xff09;想要搜索我们想要的东西&#xff0c;假设我想要上海迪士尼的门票&#xff0c;那么精确的query是“上海迪士尼门票”&#xff0c;要打7个字&#xff0c;如果在你输入“上海”的时候app就推荐了query“上海迪士尼…...

Nmap的几种扫描方式以及相应的命令

Nmap是一款常用的网络扫描工具&#xff0c;它可以扫描目标网络上的主机和服务&#xff0c;帮助安全研究员了解目标网络的拓扑结构和安全情况。以下是Nmap的几种扫描方式以及相应的命令&#xff1a; 1.Ping扫描 Ping扫描可以用来探测网络上响应的主机&#xff0c;可以使用“-sn…...

Qt::QOpenGLWidget 渲染天空壳

在qt窗口中嵌入opengl渲染天空壳和各种立方体一 学前知识天空壳的渲染学前小知识1 立方体贴图 天空壳的渲染就是利用立方体贴图来实现渲染流程2 基础光照 光照模型3 opengl帧缓冲 如何自定义帧缓冲实现后期特效4 glsl常见的shader内置函数 glsl编程常用的内置函数二 shader代码…...

谷歌搜索技巧大全 | 谷歌高级搜索语法指令

谷歌搜索技巧是利用各种高级搜索语法或者搜索指令&#xff0c;让我们能够使用Google进行精确化的搜索&#xff0c;外贸找客户和学术文件查找都可以应用到这些搜索技巧。(大部分命令也适用百度搜索)。Google通过互联网收集数据&#xff0c;抓取有意义的信息&#xff0c;将其存储…...

JAVA开发(JAVA垃圾回收的几种常见算法)

JAVA GC 是JAVA虚拟机中的一个系统或者说是一个服务&#xff0c;专门是用于内存回收&#xff0c;交还给虚拟机的功能。 JAVA语言相对其他语言除了跨平台性&#xff0c;还有一个最重要的功能是JAVA语言封装了对内存的自动回收。俗称垃圾回收器。所以有时候我们不得不承认&#…...

你还不会用CAD一键布置停车位?赶紧学起来!

在设计CAD建筑图的过程中&#xff0c;你还在一个一个地画停车位吗&#xff1f;那未免也太低效了吧&#xff01;今天&#xff0c;小编用浩辰CAD建筑软件来教大家一键布置停车位&#xff0c;赶紧学起来吧&#xff01; 浩辰CAD建筑软件是行业应用最广泛的创新型建筑设计专业软件&…...

【MySQL之MySQL底层分析篇】系统学习MySQL,从应用SQL语法到底层知识讲解,这将是你见过最完成的知识体系

文章目录MySQL体系结构MySQL存储结构&#xff08;以InnoDB为例&#xff09;MySQL执行流程&#xff08;以InnoDB为例&#xff09;1. 数据写入原理2. 数据查询原理MySQL存储引擎1. 为什么需要不同的存储引擎2. 如何为数据指定不同的存储引擎&#xff0c;数据粒度又是多少3. MySQL…...

单核CPU是否有线程可见性问题?

本文仅是本人对问题的思考记录&#xff0c;并没有实操验证&#xff0c;有误请大家评论指出。 今天见到了一个经典的问题&#xff0c;单核CPU是否有线程可见性问题&#xff0c;学完操作系统应该可以直接回答&#xff0c;不会有线程安全问题。但如果结合JVM虚拟机来进行分析&…...

MyBatis 架构介绍

MyBatis 架构介绍MyBatis 架构图MyBatis 所解决的 JDBC 中存在的问题引用MyBatis 架构图 mybatis 配置:mybatis-config.xml&#xff0c;此文件作为 mybatis 的全局配置文件&#xff0c;配置了 mybatis 的运行环境等信息。另一个 mapper.xml 文件即 sql 映射文件&#xff0c;文件…...

加密算法---RSA 非对称加密原理及使用

加密算法---RSA 非对称加密原理及使用一 非对称加密原理介绍二 加密解密测试2.1 加密解密工具类2.2 测试一 非对称加密原理介绍 非对称加密算法中&#xff0c;有两个密钥&#xff1a;公钥和私钥。它们是一对&#xff0c;如果用公钥进行加密&#xff0c;只有用对应的私钥才能解…...

MySQL-查询语句

数据库管理系统的一个最重要的功能就是数据查询&#xff0c;数据查询不应只是简单查询数据库中存储的数据&#xff0c;还应该根据需要对数据进行筛选&#xff0c;以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。下面是通过help帮助查看到的s…...

【算法】【数组与矩阵模块】求数组中需要排序的最短子数组长度

目录前言问题介绍解决方案代码编写java语言版本c语言版本c语言版本思考感悟写在最后前言 当前所有算法都使用测试用例运行过&#xff0c;但是不保证100%的测试用例&#xff0c;如果存在问题务必联系批评指正~ 在此感谢左大神让我对算法有了新的感悟认识&#xff01; 问题介绍 …...

centos安装Anaconda3

目录一、参考二、Anaconda简介1、用途2、关于anaconda三、下载安装1、下载2、安装anaconda3、配置环境遍历4、测试配置结果5、设置显示前缀一、参考 在centos上安装Anaconda 最新Anaconda3的安装配置及使用教程&#xff08;附图文&#xff09; 二、Anaconda简介 一句话&…...

【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for wx:key(十二)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…...

【Linux】Linux中gcc/g++的使用

本期主题&#xff1a;程序的编译过程和gcc/g的使用博客主页&#xff1a;小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限&#xff0c;出现错误希望大家不吝赐&#x1f341; 1.背景知识 预处理&#xff08;进行宏替换&#xff0c;去注释&#xff0c;头文件的…...

【Spring Cloud Alibaba】(五)Dubbo启动报错?一直重连报错?你值得学习的是排查问题的方法

系列目录 【Spring Cloud Alibaba】&#xff08;一&#xff09;微服务介绍 及 Nacos注册中心实战 【Spring Cloud Alibaba】&#xff08;二&#xff09;微服务调用组件Feign原理实战 【Spring Cloud Alibaba】&#xff08;三&#xff09;OpenFeign扩展点实战 源码详解 【Spri…...

adb命令的使用

命令 连接机顶盒 adb connect [机顶盒ip]查看已连接设备 adb devices断开某个机顶盒的连接 adb disconnect [机顶盒ip] or adb disconnect [虚拟机名称]断开所有设备连接 adb disconnect获取 root 权限 adb root挂载文件系统 adb remount当想往移动设备端 push 文件时显…...

springBoot自定义参数类型转换器

springBoot允许用户自定义转换器&#xff0c;以处理自定义请求参数协议。 方式一&#xff1a;通过实现接口&#xff1a;WebMvcConfigurer 并重写方法的形式。 Configuration public class BootConfig implements WebMvcConfigurer {/*** 自定义参数转换*/Overridepublic voi…...

OA系统在企业中的应用你知道哪些?

随着人工智能技术的不断发展&#xff0c;企业中的OA系统&#xff08;Office Automation System&#xff09;正在逐渐得到广泛应用。OA系统是一种集成了多种功能的信息化工具&#xff0c;能够帮助企业实现办公自动化、信息管理、决策支持等多种功能。本文将从OA系统在企业中的应…...

JAVA中,ArrayList 的扩容机制,含案例

JAVA中&#xff0c;ArrayList 的扩容机制&#xff0c;含案例 在 Java 中&#xff0c;ArrayList 是一个动态数组&#xff0c;它可以根据需要自动增长。当 ArrayList 中的元素数量超过其初始容量时&#xff0c;它会重新分配一个更大的内部数组&#xff0c;然后将现有元素复制到新…...

长兴住房和城乡建设局网站/友情链接有哪些作用

方法一&#xff1a;插入断点&#xff0c;Debug运行 在欲查看变量值的语句前&#xff0c;插入断点&#xff0c;Debug运行。之后&#xff0c;就在Debug面板下&#xff0c;可以查看各变量值&#xff0c;然后还可按F8、F7、F9查看、调试代码。也可对某些变量&#xff0c;点击右键&a…...

商标设计图案/杭州优化公司哪家好

前言 Flutter 作为Google出品的一个新兴的跨平台移动客户端UI开发框架&#xff0c;正在被越来越多的开发者和组织使用&#xff0c;包括阿里的咸鱼、腾讯的微信等。 今天&#xff0c;我主要讲解Flutter中文本组件方面的Widget&#xff0c;包括Text、RichText、TextField&#…...

台湾做电商网站/网站推广计划方案

客户关系管理系统&#xff08;CRM&#xff09;是现代企业管理中不可或缺的管理工具之一。一个好的**CRM系统**可以帮助企业更好地管理客户信息、提高销售和市场营销效率、增强客户忠诚度等。但是&#xff0c;如何选择适合自己企业的CRM系统呢&#xff1f;以下是一些选择CRM系统…...

网站空间怎么收费/电商网站规划

取决于stl的实现版本&#xff0c;&s[0]不一定是连续的。不强制要求内部实现是怎么做的&#xff0c;不过.c_str()和.data()返回的视图必须是保证连续的&#xff1f;&#xff1f;...

如何做公众号小说网站赚钱/俄罗斯引擎搜索

CNC加工中心的高精高效&#xff0c;安全是前提。安全生产离不开优秀的车间管理&#xff0c;设备的精良保养以及丰富的加工经验。 1.预先开机 正式加工前可以进行开机空转&#xff0c;让CNC加工中心主轴空转几分钟&#xff0c;可以让主轴的轴承充分润滑&#xff0c;减少加工误…...

大连手机自适应网站制作公司/app联盟推广平台

当前的移动互联网时代&#xff0c;移动端应用的流量昂贵和敏感&#xff0c;为了统计APP内用户行为&#xff0c;或者需要收集某些产品数据&#xff0c;往往需要进行日志上报。日志上报往往又非常费流量&#xff0c;有没有一些好的节省流量的优化方法呢&#xff0c;这是本文将要讨…...