leetcode1237. 找出給定方程的正整數解(二分法)

給出一個函數 f(x, y) 和一個目標結果 z,請你計算方程 f(x,y) == z 所有可能的正整數 數對 x 和 y。

給定函數是嚴格單調的,也就是說:

f(x, y) < f(x + 1, y)
f(x, y) < f(x, y + 1)
函數接口定義如下:

interface CustomFunction {
public:
// Returns positive integer f(x, y) for any given positive integer x and y.
int f(int x, int y);
};
如果你想自定義測試,你可以輸入整數 function_id 和一個目標結果 z 作為輸入,其中 function_id 表示一個隱藏函數列表中的一個函數編號,題目只會告訴你列表中的 2 個函數。

你可以將滿足條件的 結果數對 按任意順序返回。

示例 1:

輸入:function_id = 1, z = 5
輸出:[[1,4],[2,3],[3,2],[4,1]]
解釋:function_id = 1 表示 f(x, y) = x + y

代碼

/** // This is the custom function interface.* // You should not implement it, or speculate about its implementation* class CustomFunction {*     // Returns f(x, y) for any given positive integers x and y.*     // Note that f(x, y) is increasing with respect to both x and y.*     // i.e. f(x, y) < f(x + 1, y), f(x, y) < f(x, y + 1)*     public int f(int x, int y);* };*/class Solution {public List<List<Integer>> findSolution(CustomFunction customfunction, int z) {List<List<Integer>> res=new ArrayList<>();for(int i=1;i<=z;i++)//嘗試不同的x{int l=1,r=z;while (l<=r)//二分查找符合的y{int  mid=(r-l)/2+l;if(customfunction.f(i,mid)==z)//找到了結果{ArrayList<Integer> temp=new ArrayList<>();temp.add(i); temp.add(mid);res.add(temp);break;}else  if(customfunction.f(i,mid)<z)l=mid+1;else  r=mid-1;}}return res;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393513.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫 測試數據生成_我們的測試數據生成器如何使假數據看起來真實

數據庫 測試數據生成by Tom Winter湯姆溫特(Tom Winter) 我們的測試數據生成器如何使假數據看起來真實 (How our test data generator makes fake data look real) We recently released DataFairy, a free tool that generates test data. But first, let me tell you the st…

tp框架生命周期

1、入口文件 用戶發起的請求都會經過應用的入口文件&#xff0c;通常是 public/index.php文件。當然&#xff0c;你也可以更改或者增加新的入口文件。 通常入口文件的代碼都比較簡單&#xff0c;一個普通的入口文件代碼如下&#xff1a; // 應用入口文件 // 定義項目路徑 d…

django 創建mysql失敗_創建表時出現Django MySQL錯誤

我正在用MySQL數據庫構建一個django應用程序。當我第一次運行“python manage.py migrate”時&#xff0c;一些表創建得很好&#xff0c;然后出現一些錯誤。出現的錯誤是&#xff1a;django.db.utils.IntegrityError: (1215, Cannot add foreign keyconstraint)當我運行這個MyS…

Laravel數據庫遷移和填充(支持中文)

寫在前面 經常我們做項目都團隊協作開發&#xff0c;每個人都在自己本地的數據庫&#xff0c;如果你曾經出現過讓同事手動在數據庫結構中添加字段的情況&#xff0c;數據庫遷移可以解決你這個問題。 不僅如此&#xff0c;在線上部署的時候&#xff0c;也避免了手動導入數據庫或…

leetcode374. 猜數字大小(二分法)

猜數字游戲的規則如下&#xff1a; 每輪游戲&#xff0c;系統都會從 1 到 n 隨機選擇一個數字。 請你猜選出的是哪個數字。 如果你猜錯了&#xff0c;系統會告訴你這個數字比系統選出的數字是大了還是小了。 你可以通過調用一個預先定義好的接口 guess(int num) 來獲取猜測結果…

什么情況下你的工作最為成功_如何在沒有工作經驗的情況下獲得技術工作

什么情況下你的工作最為成功by Anthony Sistilli安東尼西斯蒂里(Anthony Sistilli) 如何在沒有工作經驗的情況下獲得技術工作 (How to get a tech job with no previous work experience) I run a free community called the Forge where I help students navigate the world …

jquery批量刪除

前臺代碼 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0">…

MUI 里js動態添加數字輸入框后,增加、減少按鈕無效

https://www.cnblogs.com/ssjf/p/10193652.html numbox 的自動初化是在 mui.ready 時完成的mui 頁面默認會自動初始化頁面中的所有數字輸入框&#xff0c;動態構造的 DOM 需要進行手動初始化。比如&#xff1a;您動態創建了一個 ID 為 abc 的數字輸入框&#xff0c;需要 mui(#a…

Django——認證系統(Day72)

閱讀目錄 COOKIE 與 SESSION 用戶認證 COOKIE 與 SESSION 概念 cookie不屬于http協議范圍&#xff0c;由于http協議無法保持狀態&#xff0c;但實際情況&#xff0c;我們卻又需要“保持狀態”&#xff0c;因此cookie就是在這樣一個場景下誕生。 cookie的工作原理是&#xff1a;…

description方法

1.description基本概念 NSLog("%", objectA);這會自動調用objectA的description方法來輸出ObjectA的描述信息. description方法默認返回對象的描述信息(默認實現是返回類名和對象的內存地址) description方法是基類NSObject 所帶的方法,因為其默認實現是返回類名和…

leetcode面試題 10.05. 稀疏數組搜索(二分法)

稀疏數組搜索。有個排好序的字符串數組&#xff0c;其中散布著一些空字符串&#xff0c;編寫一種方法&#xff0c;找出給定字符串的位置。 示例1: 輸入: words [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”, “”,“dad”, “”, “”], s “ta” 輸出…

laravel框架制作縮略圖和水印

1.首先需要使用 composer 在命令行安裝最新版本的 intervention/image &#xff1a; composer require intervention/image2.注冊服務提供者及別名&#xff08;Laravel 版本 ≤ 5.4&#xff09; 如果你的 laravel 版本小于或等于 5.4&#xff0c;安裝后需要注冊服務提供者和別…

mysql 模糊查詢 tp框架_TP框架中模糊查詢實現

TP框架中模糊查詢實現$where[g.name] array(like,%.$groupname.%);表達式查詢上面的查詢條件僅僅是一個簡單的相等判斷&#xff0c;可以使用查詢表達式支持更多的SQL查詢語法&#xff0c;查詢表達式的使用格式&#xff1a;$map[字段1] array(表達式,查詢條件1);$map[字段2] ar…

肉體之愛的解釋圣經_可以解釋的AI簡介,以及我們為什么需要它

肉體之愛的解釋圣經by Patrick Ferris帕特里克費里斯(Patrick Ferris) 可以解釋的AI簡介&#xff0c;以及我們為什么需要它 (An introduction to explainable AI, and why we need it) Neural networks (and all of their subtypes) are increasingly being used to build pro…

Python可變與不可變類型及垃圾回收機制

1. 可變與不可變類型 1.1 可變類型 在id不變的情況下&#xff0c;value可以改變&#xff0c;則稱之為可變類型。列表、字典與集合是可變的。 l1 [1,2,3,4,5] print(id(l1)) l1[1] 520 #改變列表元素 print(id(l1)) result&#xff1a; 1700748379208 …

12-1 12 防盜鏈 訪問控制 php解析 代理

2019獨角獸企業重金招聘Python工程師標準>>> 12.13 Nginx防盜鏈 12.14 Nginx訪問控制 12.15 Nginx解析php相關配置 12.16 Nginx代理 擴展 502問題匯總 http://ask.apelearn.com/question/9109location優先級 http://blog.lishiming.net/?p10012.13 Nginx防盜鏈 用來…

leetcode911. 在線選舉(二分法)

在選舉中&#xff0c;第 i 張票是在時間為 times[i] 時投給 persons[i] 的。 現在&#xff0c;我們想要實現下面的查詢函數&#xff1a; TopVotedCandidate.q(int t) 將返回在 t 時刻主導選舉的候選人的編號。 在 t 時刻投出的選票也將被計入我們的查詢之中。在平局的情況下&…

1-13句子逆序

題目描述 將一個英文語句以單詞為單位逆序排放。例如“I am a boy”&#xff0c;逆序排放后為“boy a am I”所有單詞之間用一個空格隔開&#xff0c;語句中除了英文字母外&#xff0c;不再包含其他字符 接口說明 /** * 反轉句子 * * param sentence 原句子 * return 反轉后的…

單例模式實現DB類

創建一個類 class DB_class {//public $name andy;//私有的屬性private static $db;//公共的靜態方法public static function index(){if (self::$db ! null ){return self::$db;}self::$dbnew DB_class();return self::$db;}//私有的構造方法private function __construct()…

終端定時任務 開始緩沖_如何開始使用終端以提高生產力

終端定時任務 開始緩沖by Luciano Strika通過盧西亞諾斯特里卡(Luciano Strika) 如何開始使用終端以提高生產力 (How to start using the terminal to be more productive) As developers, the terminal can be our second home.作為開發人員&#xff0c;碼頭可以成為我們的第…