LeetCode_35. Search Insert Position

 

35. Search Insert Position

Easy

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

Example 1:

Input: [1,3,5,6], 5
Output: 2

Example 2:

Input: [1,3,5,6], 2
Output: 1

Example 3:

Input: [1,3,5,6], 7
Output: 4

Example 4:

Input: [1,3,5,6], 0
Output: 0

 

package leetcode.easy;

public class SearchInsertPosition {
	@org.junit.Test
	public void test() {
		int[] nums1 = { 1, 3, 5, 6 };
		int target1 = 5;
		int[] nums2 = { 1, 3, 5, 6 };
		int target2 = 2;
		int[] nums3 = { 1, 3, 5, 6 };
		int target3 = 7;
		int[] nums4 = { 1, 3, 5, 6 };
		int target4 = 0;
		System.out.println(searchInsert(nums1, target1));
		System.out.println(searchInsert(nums2, target2));
		System.out.println(searchInsert(nums3, target3));
		System.out.println(searchInsert(nums4, target4));
	}

	public int searchInsert(int[] nums, int target) {
		int low = 0;
		int high = nums.length - 1;
		while (low <= high) {
			int mid = (low + high) / 2;
			if (nums[mid] == target) {
				return mid;
			}
			if (nums[mid] > target) {
				high = mid - 1;
			} else {
				low = mid + 1;
			}
		}
		return low;
	}
}

 

转载于:https://www.cnblogs.com/denggelin/p/11566787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
unordered_set的insert()函数用于向无序集合中插入元素。引用中给出了一个使用unordered_map的例子,但语法和unordered_set的insert()函数类似。 unordered_set是C++的一个容器,它提供了一种无序存储唯一元素的方式。unordered_set的insert()函数接受一个参数,即要插入的元素的值。当插入成功时,返回一个pair对象,其中的第一个元素为指向已插入元素的迭代器,第二个元素为布尔值,表示是否插入成功。 例如,可以使用以下代码向unordered_set中插入元素: unordered_set<int> mySet; mySet.insert(1); mySet.insert(2); mySet.insert(3); 在上述代码中,我们创建了一个名为mySet的unordered_set,并使用insert()函数向其中插入了三个元素。插入成功后,mySet中将包含这些元素。 需要注意的是,由于unordered_set是无序的,元素的插入顺序可能不会保持一致。因此,在遍历unordered_set时,不能保证元素的顺序。 更多关于unordered_set的使用可以参考引用中的参考文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【C++进阶】八、STL---unordered_set & unordered_set的介绍及使用](https://blog.csdn.net/m0_64280701/article/details/129545985)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [LeetCode判断字符串是否循环-Log:记录我的编码](https://download.csdn.net/download/weixin_38716081/19950130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值