我正在设置一些数据来做一个ajax帖子,代码看起来像这样.
var data = {}
data.someId= 3;
data.anotherId = 4;
Run Code Online (Sandbox Code Playgroud)
这很好用.但为什么我不需要在第一行末尾加分号?
我试图将数组中的偶数移到前面,将奇数移到数组的后面.该问题要求在线性算法中执行此操作并在此处执行此操作.
我想出了这个:
def sort(a):
for i in range(0,len(a)-1):
if a[i]%2==0:
a.insert(0,a.pop(i))
return a
Run Code Online (Sandbox Code Playgroud)
问题是,有人告诉我,技术上,a.insert是一个o(n)函数,所以从技术上讲,这将被认为是非线性算法(当包括for i in range函数的一部分时).由于提出这个问题的论坛已经有几个月了,我无法要求解释.
基本上我相信他说"技术上",因为因为它在前面插入它,它不会检查数组中的另外N个元素,因此使其在O(n)而不是O(n ^ 2)的实际用途中运行.这是正确的评估吗?
此外,论坛上有人用于a.append修改上述内容并将其更改为查找奇数.没有人回答所以我想知道,是否a.append不是o(n)函数,因为它将它移动到最后?是o(1)?
感谢您的解释和澄清!
我想创建一个表,然后创建一个应插入该表的数据列表.南方是否有能力做这样的事情?如果是这样,你有没有参考,告诉我如何做到这一点?
我希望能够做到这一点,因为在这一点上,似乎拥有"完全"相同数据的唯一方法是自己手动将它们插入数据库.
我想要一些在桌子中插入行的"好"自动方式.
所以我试图使用这个递归函数将值插入二叉树:
void add(node* *hd, int v){
node* curr = *hd;
if(curr == NULL){
curr = (node*)malloc(sizeof(node));
curr->value = v;
}else{
if(v < curr->value){
add(&curr->left, v);
}else{
add(&curr->right, v);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有用,我只是不明白为什么我不能做这样的事情.我该怎么办呢?
我正在尝试使用ASP.Net和C#开发一个示例注册页面.我正在调用存储过程将数据插入数据库.我的数据库是SQL Server 2008.
这是我的代码:
public partial class Sample : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
string str;
protected void Page_Load(object sender, EventArgs e)
{
rbt_Male.Checked = true;
}
protected void btn_Submit_Click(object sender, EventArgs e)
{
string @Name = txtbx_Name.Text;
string @Gender_male = rbt_Male.Text;
string @Gender_Female = rbt_Female.Text;
string @Email = txtbx_Email.Text;
DateTime @Dob = Convert.ToDateTime(txt_Dob.Text);
submitdata();
}
protected void submitdata()
{
try
{
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "insertdata";
if (rbt_Male.Checked)
{
cmd.Parameters.AddWithValue("@Name", …Run Code Online (Sandbox Code Playgroud) 这是一个非常简单的java程序,我在其中声明任何包含7个元素的数组,输入前六个,将第四个元素移动到第六个元素到第五个到第七个位置,并获得第四个空位置的值:
int A[]=new int[7];
for(int i=0;i<6;i++)
{
System.out.println("Enter an integer");
String a=Biff.readLine();
A[i]=Integer.parseInt(a);
}
for(int i=4;i<6;i++)
{
A[i]=A[i+1];
}
System.out.println("Enter the integer to be inserted");
String a=Biff.readLine();
A[4]=Integer.parseInt(a);
Run Code Online (Sandbox Code Playgroud)
但是,当打印所有数组元素时,第六和第七个位置为0,我不知道为什么.原因和修复将不胜感激.注意:我不能使用任何数组方法,必须保持它非常简单.
我有一个2D numpy数组,我需要在第一列之前添加一列作为id.
我的阵列是这样的:
x = [['8' '4' 'M' '55' '7' 'S' '7' '2']
['36' '4' 'F' '58' '1' 'M' '7' '7']
['33' '3' 'M' '34' '4' 'M' '2' '3']
['43' '1' 'F' '64' '4' 'M' '7' '68']
['1' '2' 'M' '87' '4' 'M' '7' '1']]
Run Code Online (Sandbox Code Playgroud)
我要添加的列是这个 y = ['1' '2' '3' '4' '5']
目标输出是:
z = [['1' '8' '4' 'M' '55' '7' 'S' '7' '2']
['2' '36' '4' 'F' '58' '1' 'M' '7' '7']
['3' '33' '3' 'M' '34' '4' …Run Code Online (Sandbox Code Playgroud) 我在下面的代码中通过Internet在数组中插入一个元素.我的问题是,如何在第一次插入时增加数组的大小,并在每次执行打印时打印垃圾.我也很渴望获取有关我得到的错误的详细信息.
代码是
#include <stdio.h>
void main()
{
int k = 3, n = 5, i = 0, j = n;
int LA[] = {1,3,5,7,8};
printf("The original array elements are :\n");
for(i = 0; i<n; i++) {
printf("%d ",LA[i]);
}
n = n + 1;
while( j >= k){
LA[j+1] = LA[j];
j = j - 1;
}
LA[k] = 10;
printf("\nThe array elements after insertion1 :\n");
for(i = 0; i<n; i++) {
printf("%d ",LA[i]);
}
n = n + 1; …Run Code Online (Sandbox Code Playgroud) 我有一个线增长算法,我需要:
我通常以非常幼稚的方式执行此操作(请参阅下面的代码),并且想知道如何使用 numpy(如果需要的话还可以使用 scipy)以最快的方式计算连续向量之间的距离。
import math
threshold = 10
vectorList = [(0, 10), (4, 8), (14, 14), (16, 19), (35, 16)]
for i in xrange(len(vectorList)):
p1 = vectorList[i]
p2 = vectorList[i+1]
d = math.sqrt((p2[0] - p1[0])**2 + (p2[1] - p1[1])**2)
if d >= threshold:
pmid = ((p1[0] + p2[0]) * .5, (p1[1] + p2[1]) * .5)
vectorList.insert(i+1, pmid)
Run Code Online (Sandbox Code Playgroud)
编辑:我想出了以下解决方法,但我仍然关心距离计算。
我需要计算一个向量与其列表中的下一个邻居之间的距离,而不是像我在这里所做的那样计算整个距离矩阵(所有向量彼此相对)。
import numpy as np
vectorList = [(0, 10), (4, 8), (14, 14), (16, 19), (35, 16)] …Run Code Online (Sandbox Code Playgroud) 我想知道如何在python中实现跳过列表.
我已经制作了一个链表但是我在如何创建链表的不同级别以及如何在搜索或将节点插入列表时迭代列表的每个级别时遇到问题.
假设我已经动态地将信息传递给URL中的变量,如下所示:
<script>
var ORDER = 200;
var QUANTITY = 1;
var EXTRA = [200,300,400];
var tag = document.write('<scr'+'ipt language="JavaScript" src="http://test.com/test/order.' + ORDER + '/quantity.' + QUANTITY"></scr' + 'ipt>');
</script>
Run Code Online (Sandbox Code Playgroud)
假设我想传递EXTRA数组中的所有数据......我该怎么做?
我正在尝试在写入页面后获得看起来像这样的URL:
http://test.com/test/order.200/quantity.1/extra.200/extra.300/extra.400
Run Code Online (Sandbox Code Playgroud)
(将数字传递给URL中的相同额外参数是有意的,我需要将其传递到单独的实例中,但传递给相同的变量)
我知道我可以使用for循环来循环遍历数组..如何动态地将EXTRA数组中的数字附加到URL,如上例所示?
会这样的吗?
for (i = 0; i < EXTRA.LENGTH; i++){
tag.append(EXTRA[i]);
}
Run Code Online (Sandbox Code Playgroud)
如果可以,请告知,
谢谢你的帮助!
当我发现我的函数如果按以下方式实现时无法正常工作时,我正在实现插入排序的一个版本。此版本应该在将元素复制到新数组时对元素进行排序,同时保持原始数组不变。
vector<int> insertionSort(vector<int>& heights) {
vector<int> expected(heights.size(), 0);
int j, key;
for(int i = 0; i < expected.size(); i++){
expected[i] = heights[i];
j = i-1;
key = expected[i];
while(j >= 0 && expected[j] > key){
expected[j+1] = expected[j--];
}
expected[j+1] = key;
}
return expected;
}
Run Code Online (Sandbox Code Playgroud)
我注意到,当执行预期[j--]时,该函数无法正常工作,但是当我在括号之外递减时,它可以正常工作。换句话说,两者有什么区别
while(j >= 0 && expected[j] > key){
expected[j+1] = expected[j--];
}
Run Code Online (Sandbox Code Playgroud)
和
while(j >= 0 && expected[j] > key){
expected[j+1] = expected[j];
--j;
}
Run Code Online (Sandbox Code Playgroud) insertion ×12
python ×5
arrays ×4
javascript ×2
numpy ×2
asp.net ×1
automation ×1
binary-tree ×1
c ×1
c# ×1
c++ ×1
decrement ×1
distance ×1
django ×1
django-south ×1
dynamic ×1
java ×1
list ×1
mysql ×1
nodes ×1
python-2.7 ×1
recursion ×1
skip-lists ×1
sorting ×1
tree ×1